Hi, I have an old application in VB.NET that connects by ODBC using a filedsn that uses Microsoft ODBC for Oracle driver using ADODB.
I have a problem because numbers with decimals are being returned as strings because of the client regional settings.
I've tried with the Oracle ODBC driver (Oracle in OraClient11g_home in my machine) and it worked.
I want to be able to use this driver without having to install anything on the client machine, only by using the Oracle Instant Client dll.
But after many tests I couldn't make it work.
Is it possible? How can I make it work?
Thanks in advance.
Edited by: user7304687 on 29/Ago/2012 2:03
I've never tried it, but here's a download page with the instant client and an add-on package for it that enables ODBC. http://www.oracle.com/technetwork/topics/winsoft-085727.html You might want to try those.
I know that the full ODAC installation works, but that requires doing the client install.
For ODBC? Not really. It requires registry changes in order to register an ODBC driver with Windows and there's just no getting around that.
If you were to write something that made all those changes yourself, then you might be able to get around it by having your app's installer do it, but that would be highly error prone.
If you were using .net, you could use the managed provider that's coming out soon.
That's going to depend on how the code is set up now, honestly and is beyond my ability to answer accurately.
That said, if you're using ADO.net already for your data access and simply using an ODBC connection in your connection string, changing to the ODP.net managed driver (once available) and switching your connection string to an ODP.net one shouldn't be very painful.