I have server under Windows Server 2003 with Oracle 10 32bit. There are several ODBC data sources configured in ODBC Data Source Administrator.
Now I need to move all that system to Windows Server 2008 R2 x64.
I've installed OS, Oracle server 12c x64, Oracle client 12 x64.
Now I need to configure my ODBC data sources, but there is no Microsoft ODBC for Oracle driver.
Where can I find this driver to configure ODBC data source?
(I've tried 32bit tool from SystemWOW64, it has this driver but shows me exception "The Oracle(tm) client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle version 7.3 (or greater) clien costware installation." As far as I could say it looks for 32bit client, but there is no such)
"Microsoft ODBC for Oracle" does not exist for 64 bit. Microsoft provides only a 32-bit version.
You have to download and install the driver from Oracle: ODBC
Developer Center or
64-bit Oracle Data Access Components (ODAC) Downloads
The 32-bit ODBC driver (no matter if from Microsoft or from Oracle) does not work together with an 64-bit Oracle Client, the architectures have to match.
Related
I want to confirm that the latest Oracle managedDataAccess driver is supporting Oracle latest database releases.
I were not able to find any confirmation from Oracle documentation regarding this matter.
You find it in the System Requirements
Oracle Data Provider for .NET, Managed Driver requires the following:
Same Windows operating system support as ODP.NET, Unmanaged Driver.
ODP.NET, Managed Driver is built with AnyCPU. It runs on either 32-bit or 64-bit (x64) Windows and on either 32-bit or 64-bit (x64)
.NET Framework.
Microsoft .NET Framework 4.5.2, 4.6.x, or 4.7.x.
Access to Oracle Database 11g Release 2 or later
So, connection to Oracle 11.2 or newer is supported
Despite that OLE DB and ADO.NET are newer than ODBC potentially, I've heard that ODBC connections to Oracle are potentially faster within SSIS.
I'm trying to set up a simple ODBC connection to an Oracle DB in SSIS
The OLE DB / ADO.Net connections were easy. I entered the credentials and boom, connected.
ODBC proves very difficult. I'm running Windows 10 64 bit. Visual Studio 2015 (I believe the designer for SSIS was only meant to initially play with 32-bit ODBC connections). Oracle is version 12c.
So ... I did the convoluted Oracle driver install. Downloaded Oracle basic light express + ODBC. Put them in the same directory. Ran odbc.install.exe WITH admin privileges. Finally got the Oracle driver to show up in Microsoft ODBC (32 or 64, ended up downloading both eventually). I test the connection in Microsoft ODBC setup? Success!! NOOOOW. .. enter Visual studio. Set up connection --- test --- FAIL! Some cryptic error .... 127 ... the "oracle" in quora32.dll can't be found.
Are Microsoft Drivers for Oracle still available for download?
32-bit vs 64-bit
I think that the main cause of the problem is that Visual studio is a 32-bit application and the ODBC driver installed is 64-bit. On the other hand the operating system is 64-bit then it will work normally. Check the following links for more information:
ODBC Connection not appearing SSIS
Set up the ODBC Driver for SSIS
Attunity connectors
I really didn't tried connecting to Oracle using ODBC, but if your goal is to achieve higher performance then the fastest way to connect to Oracle from SSIS is using Attunity high speed connectors for Oracle that have been selected by Microsoft to be included with SQL Server Integration Services (SSIS).
Check the following links for more information:
Microsoft Connectors for Oracle and Teradata by Attunity for Integration Services (SSIS)
Microsoft Connectors by Attunity
Oracle provider for Oledb missing in VS 2015 Shell
SSIS not running in parallel with OraOLEDB.Oracle.1 Provider
As noted in various ways on this question, the VS IDE (and its typical testing environment) is 32-bit, even when installed/running on 64-bit Windows, or when building for use/deployment on 64-bit Windows. My employer has a knowledgebase article discussing this.
Also, SQL Server, SSIS, and VS are always OLE DB or ADO.NET clients; they don't actually speak ODBC directly. When you tell either SQL Server, SSIS, or VS to connect to an ODBC driver or ODBC DSN, they invisibly use the Microsoft OLE DB [Bridge] Provider for ODBC Drivers for that connection.
The easiest way to work around all this, given that you explicitly want to use ODBC, is to install both 32-bit and 64-bit variants of all OLE DB (including the Bridge Provider) and ODBC components (and any libraries on which they depend, such as OCI or Oracle Instant Client), and to configure a pair of ODBC System DSNs (not User DSNs, for several reasons), one each 32-bit and 64-bit, which are named and configured identically excepting only the driver library.
This strategy works whether you're using ODBC drivers from my employer (which might be the "12-15x faster" ones referenced previously? if so, it's important to note that Enterprise Edition "concurrent users" is about actively connected clients, not installed seats), from another third-party, or from Oracle themselves.
I am trying to connect to oracle using excel macro. My connection string is as follows:
*"Driver={Microsoft ODBC for Oracle}; CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=edw))); uid=system; pwd=oracle;"*
OS : Windows Server 2008 R2 Enterprise
MS Office Professional Plus 2013
Could you please help me.
Thanks in advance!!!
The driver does not exist, try Driver={Oracle in OraDb11g_home1}
However, ODBC exist for 32 bit and 64 bit. Which ODBC Data Source Administrator did you start (they look the same)?
To launch 64-bit ODBC Administrator use %SystemRoot%\System32\odbcad32.exe
To launch 32-bit ODBC Administrator use %SystemRoot%\SysWOW64\odbcad32.exe
The architecture of ODBC driver must match the architecture of your client, I assume this is MS Office which is most likely the 32 bit version.
ODBC driver for Oracle can be provided by Microsoft (Driver={Microsoft ODBC for Oracle}) or by Oracle (Driver={Oracle in OraDb11g_home1}, driver name varies). 64-bit driver is provided only by Oracle, the Microsoft driver is deprecated.
NB, I never used CONNECTSTRING=..., try Server=... instead.
My notebook has Windows 8 64 bit, Microsoft office 2010 32 bit and Oracle DB 11gR2 64 bit installed. I have created DSN to access oracle databases via ODBC sources 64 bit. I want to obtain data from oracle database to Microsoft Excel or Access via ODBC (in excel -> Data - From other sources - from Microsoft query). But DSN name that I created earlier do not appear. What can I do?
If the Application that wants to Access an ODBC-Datasource is 32bit, you need to use the 32bit version of the ODBC-Driver.
In your case you use a 32bit Version of Microsoft Office to Access the Datasource, so you need to use the 32bit Version of the ODBC-Driver. Configure your DSN using
C:\Windows\SysWOW64\odbcad32.exe
and they will probably show up in the 32bit Version of Office.
I have tried downloading anything remotely resembling the oracle odbc drivers and still i am unable to generate a DSN to oracle.
I do not even see oracle drivers showing up in the odbc creation wizard!
All I see are drivers for SQL server and SQL native client.
how do I create a system DSN for oracle?
You need to use the 32 or 64 bit ODBC Admin client.
A 64-bit version of the Microsoft Windows operating system includes the following versions of the Microsoft Open Database Connectivity (ODBC) Data Source Administrator tool (Odbcad32.exe):
The 32-bit version of the Odbcad32.exe file is located in the %systemdrive%\Windows\SysWoW64 folder.
The 64-bit version of the Odbcad32.exe file is located in the %systemdrive%\Windows\System32 folder.
See:
http://support.microsoft.com/kb/942976