Microsoft Ole Db Provider For Oracle Missing Expression

Posted onby
Active4 years ago

Integration Services (SSIS) Connections. Source by using an OLE DB provider. The connection manager component of the Microsoft Connector for Oracle. During my recent conversation about Oracle linked server with one of my client, I learned something new about “Microsoft OLE DB Provider for Oracle”. This blog has highlights of a lengthy conversation. MSDAORA is short form for “Microsoft OLE DB Provider for Oracle”.

Oracle Provider For Oledb Download

I am using oracle database as backend .When i run this following script in c# i got following error

when i run this script i got following error

ERROR [42000] [Microsoft][ODBC driver for Oracle][Oracle]ORA-00936: missing expression

Whats the problem above code.

test user
test usertest user

3 Answers

YEAR is reserved word in ODBC try to enclose it inside the square brackets [].

see ODBC Reserved Words

Try This:

Sudhakar TillapudiSudhakar Tillapudi
23.4k5 gold badges29 silver badges59 bronze badges

Remove the @ in your query. In Oracle the bind variable as be to like :BIND_VARIABLE using colon(:)

Maheswaran RavisankarMaheswaran Ravisankar
15.6k5 gold badges34 silver badges64 bronze badges

Maybe you can try to use '?'

I have tried that

Oracle Ole Db Download

didn't work.


Not the answer you're looking for? Browse other questions tagged c#asp.netoracleodbc or ask your own question.

This post is a walkthrough of creating a Linked Server to Oracle from 64bit SQL Server. There's lots of information on doing this on the web, but much of it is out-of-date.

First, install the correct Oracle drivers. You want the latest version of the Oracle Data Access Components (ODAC), and you want the XCopy deployment. They are available here:

One you download and unzip this into a folder run the following command from that folder:

C:UsersdbrowneDownloadsODAC121010Xcopy_x64>.install.bat oledb c:oracleodac64 odac64 true

Then you need to add two folders to your system path: c:oracleodac64 and c:oracleodac64bin

Then you must reboot for the system path change to be visible by services like SQL Server.

After reboot you're ready to create and test the linked server.

First configure the Oracle OleDB provider to run inside the SQL Server process, and configure it to accept parameters.


Then create the linked server definition. Instead of a TNSNames alias, use an EZConnect identifier. Here I'm specifying an IP address and a SID to connecto to an Oracle Express instance running on a VM:

Now you're ready to test. We configured the linked server for 'rpc out' so we can send a simple passthrough query to test connectivity:

That's it.