Driver Issues connecting to Oracle 11g using MS OLE driver from SSIS - windows-7

I am having driver issues trying to connect to an Oracle Database 11g in an SSIS SQL Server Integration Package.
In SSIS, I created a OLE Database Connection using the Native OLE DB\Microsoft OLE DB Provider for Oracle. When I test the connection, the outcome is successful but I run into issues when I attempt to reference this Connection from an OLE DB Source task.
In the OLE DB Source task, I am able to see all of the tables but when I select one, I get the following error:
Exception from HRESULT: 0xC02020E8
Error at Data Flow Task [OLE DB Source [1]]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft OLE DB Provider for Oracle" Hresult: 0x80004005 Description: "Unspecified error".
An OLE DB record is available. Source: "Microsoft OLE DB Provider for Oracle" Hresult: 0x80004005 Description: "Oracle error occurred, but error message could not be retrieved from Oracle.".
An OLE DB record is available. Source: "Microsoft OLE DB Provider for Oracle" Hresult: 0x80004005 Description: "Data type is not supported."
Error at Data Flow Task [OLE DB Source [1]]: Opening a rowset for ""MySchema"."MyTable"" failed. Check that the object exists in the database.
I did not see any Oracle OLE drivers to select. I considered downloading one (ODAC101040.exe (174MB)) from here:
http://www.oracle.com/technetwork/database/windows/utilsoft-088126.html
but the download was very large and I already have 2 oracle drivers on my PC that are very large install. I'd hate to download more drivers that I need because they are huge downloads and my company probably would rather me not be a maverick downloader, but if I know what I need instead of trial and error downloading, it'll get done.
When I look on my PC under Startup->All Programs, I see the following menu folders:
Oracle - OraClient11g_home1
Oracle - OraClient11g_home1_32but
I do not have Admin rights on my PC but I do have elevated rights. When I run the Net Configuration Assistant under the 32 bit folder, I test the connection and it works fine. When I try to run the 64 bit version, nothing comes up.
I only seem to have 1 TNS file on my PC,
c:\windows\tnsnames.ora
this file was manually edited originally. I suspect that it is associated with my 32 bit driver. I expected to find my TNS files under these two folders, but did not find any:
C:\Oracle\product\11203_32bit\CLIENT_1\NETWORK\ADMIN\
C:\Oracle\product\11203_62bit\CLIENT_1\NETWORK\ADMIN\
Here's my version of the Oracle database that I am trying to connect to:
1 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
2 PL/SQL Release 11.2.0.3.0 - Production
3 CORE 11.2.0.3.0 Production
4 TNS for Linux: Version 11.2.0.3.0 - Production
5 NLSRTL Version 11.2.0.3.0 - Production
What driver should I install to get my SSIS Package to work? I'd prefer to download a compatible (newer?) MS OLE driver but would be willing to install others.
Added Info:
My connection string:
Data Source=MyDb.MyCompany.COM;User ID=MyEffinId;Provider=MSDAORA.1;Persist Security Info=True;

I prefer the Attunity then Oracle then Microsoft drivers, in that order. Attunity requires SQL Server Enterprise Edition.
I tend to only install the 32-bit versions and force the packages to run in 32-bit mode to avoid wasting time on setup, config & patching on every developer machine and server, and also avoid the obscure issues between the versions.
The Microsoft driver seems to be the best one for calling Oracle Stored Procedures and passing parameters.

Related

Oracle DB 19c Installation [INS-20802] Oracle Net Configuration Assistant failed

I tried to install Oracle DB 19c on Win 11 Pro, but I got the following error:
[INS-20802] Oracle Net Configuration Assistant failed
I skipped this issue, but in SQL developer whilst trying to establish the connection, I get the same issue.
I do not even have the file named tnsnames.ora

cannot connect to oracle database server in crystal report development

I just tried to connect oracle database server when I tried to add the database connection in crystal report through Visual Studio 2015
So steps I followed as following
Create an empty crystal report
then right click on that report
Database Expert > Create New Connection > OLE DB(ADO) > Provider > Microsoft OLE DB Provider for Oracle
Then Following window
once I give above details and hit the finish
I'm getting following error
Error
Logon failed Details: ADO Error code: 0x80004005 Source: Microsoft
OLE DB Provide for Oracle Description ]: Oracle client and networking
components were not found These components are supplied by Oracle
Corporation and are part of the Oracle Version 7.3.3 or later client
software installation.
Provider is unable to funtion until these components are installed.
I'm having 32-bit Visual Studio 2015, in my Local machine I have installed 32-bit Oracle Client and Oracle Database server that is I'm going to connect has 64-bit Oracle 11g database
What should I do to make this work?

Oracle Data provider for .NET in visual studio

Newbi to oracle and its versions and .NET providers, but did some investigation.
I'm trying to add Oracle connection to the visual studio server Explorer (before setting up the Entity Framework 6 for oracle).
System preferences:
Windows 10 enterprise - 64 bit operating system
Visual Studio 2015
Oracle Data Access Components (ODAC) which includes Oracle developer Tools for Visual Studio: ODAC12C - 12.2.0.1 - it is suitable to 64 bit !
The DB is located in a remote machine and I can see the DB objects using the Oracle SQL developer. It uses the TNSNames file to locate the DBs.
when trying to "add connection" in the visual studio server explorer:
Select Data Source: Oracle DataBase
Data Provider:.NET framework data provider for Oracle.
It claims that:
"This provider is deprecated and should not be used. Instead download
Oracle Developer tools for visual studio for comprehensive integration
with Oracle database."
The problem is that the mentioned above reference links to a 32-bit Oracle Data Access Components (ODAC) bundle which includes "Oracle Developer Tools for Visual Studio". The same shXX happens when choosing .NET framework data provider for OLEDB.
Either I don't see the relevant provider in the list or there is a problem.
After inserting Server name, User name and Password in the "Add connection" dialog box, I get this error message:
"Attempt to load Oracle Client libraries threw BadImageFormatException.
This problem will occur when running 64 bit mode with the 32 bit Oracle Client components installed"
What am I doing wrong ?
Is this the way of defining connection string when I have a TNSNames file ?
Microsoft .NET Framework Data Provider for Oracle is different to Microsoft OLE DB Provider for Oracle which is different to Oracle Data Access (which can be Oracle Data Provider for .NET or Oracle Data Provider for .NET Managed Driver or Oracle Provider for OLE DB, depending on which one you installed), see How to connect to Oracle 11 database from . net
Visual Studio 2015 is 32-bit, when you like to connect to an Oracle database directly from Visual Studio Explorer then you have to download/install the 32-bit version of ODAC - and also install 32-bit Oracle Client.
In case you like to use also 64-bit Oracle Client and drivers follow this instruction: BadImageFormatException. This will occur when running in 64 bit mode with the 32 bit Oracle client components installed

SSRS in SharePoint integrated mode - ORA-03135 when querying Oracle database

We have successfully installed SSRS in SharePoint integrated mode. We can run reports with data sources pointing to MS SQL database.
We need to add support for reports querying Oracle 12c database.
After the drivers installation we can create a data source with "Oracle Database" data source type. But when we try the "Test Connection" button, we always get the "ORA-03135: connection lost" error. Reports based on this data source always fail.
We use these versions: SharePoint 2016, MSSQL 2016, Oracle 12c.
Did anybody come across this error? How did you solve it?
Thanks.
We had to install an Oracle patch to ODAC drivers. After installation of the patch we got rid from this error.
Most likely the error was raising because of the Oracle Advanced Security option.

Oracle SqlError: Protocol Violation / OALL8 is in an inconsistant state

I'm getting Protocol Violation and OALL8 is an inconsistant state exceptions trying to execute SELECT queries, but only on SOME of my tables. I first noticed this in a test application that I wrote that did a SELECT * FROM SOMETABLE. It would get through several hundred records and then just lock up on me. I tried running the same query in Oracle' SQLDeveloper, and would get the Protocol Violation exception on some tables. Eventually it gets to a point where it indicates "OALL8 is in an inconsistant state" for any query.
Does anyone know why this is occurring and how to fix the problem? Where is my inconsistent state? Is Oracle's SqlDeveloper its own standalone client, or does it rely on ODAC or Instant Client (referenced in PATH envi var) to be present?
The only thing that changed recently was that I installed ODAC so that I could use odp.net to replace System.Data.OracleClient in .NET. IT was ODAC 11.2.0.3.0 with Oracle Developer Tools for Visual Studio, 32 bit. I since updated my PATH environmetn variable to point to my stand-alone instant client.
Instant Client - 11.2.0.2.0, running on Win XP SP3, 32-bit Oracle DB:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production, Running on Windows Server 2003, x64
ODAC: 11.2.0.3.0
SqlDeveloper was installed before I installed ODAC, but somehow SqlDeveloper seems to be going through ODAC as the client, despite ODAC not being referenced in the PATH environment variable.
Update: When I initially installed ODAC, all of my queries functioned normally. Then they stopped functioning after a day, and I can't explain why. I attempted to uninstall ODAC, which failed when looking for a .DLL to delete. I then manually deleted my ORACLE_HOME, and reinstalled ODAC, and it's working fine for now. I don't understand why this is the case.
SQL Developer uses the ORACLE_HOME and it's drivers when available. The issue you are seeing in this is that the ORACLE_HOME is not the same version as the JDBC Driver bundled in SQL Developer.
The 'fix' for this is to ensure the oracle client is up to date w/ the version of sqldev you have installed. The easiest way to find this is when connection run show jdbc
show jdbc
-- Database Info --
Database Product Name: Oracle
Database Product Version: Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production
Database Major Version: 12
Database Minor Version: 1
-- Driver Info --
Driver Name: Oracle JDBC driver
Driver Version: 12.2.0.1.0
Driver Major Version: 12
Driver Minor Version: 2

Resources