Oracle Error : System.data.oracleclient requires oracle client software version 8.1.7 or greater - oracle11g

I am working in C#.Net Application. I had hosted my application in IIS in Server. That server contains Oracle 11g version ( 64 Bit ). The Server is also 64 Bit Machine. But while running my application i am getting the error as
system.data.oracleclient requires oracle client software version
8.1.7 or greater
Whether i need to install oracle client version in that server.

The above issue had been fixed.
Solution : The "Authenticated Users" in Oracle Home folder should give Read and Write Permissions and the System should be " RESTARTED ".

Related

Azure Analysis Services deploying model from on-prem Oracle database

Hi I have an Oracle database 11g 11.2.0.4, I have downloaded many clients and ODAC tools, finally I got the 32 bit Oracle runtime 11.2.0.4 and XCopy ODAC for 11.2.0.4 32-bit version.
I have managed to install the gateway, registered it on Azure Analysis services, have also connected to the database, retrieved tables and data using Visual Studio 2017. I am able to build the project on VS2017, but when I want to deploy the project I get this error which is frustrating because doesn't say much:
Failed to save modifications to the server. Error returned: 'An error occurred during On-Premise Gateway related activity. Additional error details: DM_GWPipeline_Gateway_MashupDataAccessError
Received error payload from gateway service with ID 396333: Async operation 777b2521-cea2-46a7-a364-9f9c80e1b816 is faulted with [0]Microsoft.PowerBI.DataMovement.Pipeline.Diagnostics.MashupDataAccessValueException: Mashup expression evaluation error. Reason: .
GatewayPipelineErrorCode=DM_GWPipeline_Gateway_MashupDataAccessError
GatewayVersion=3000.2.52
Reason= --->
[1]Microsoft.PowerBI.DataMovement.Pipeline.Diagnostics.GatewayPipelineWrapperException: Substituted: MashupValueException:<pi>Microsoft.Data.Mashup.MashupValueException (0x80004005): The provider being used is deprecated: 'System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.'. Please visit https://go.microsoft.com/fwlink/p/?LinkID=272376 to install the official provider.
Please help
Note: To fix this issue, download and install the Oracle client SDK.
If you do not have the Oracle client installed, you will see an error when you try to create or use the connection:
The provider being used is deprecated: 'System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.'. Please visit https://go.microsoft.com/fwlink/p/?LinkID=272376 to install the official provider.
You get the above error if the Oracle client SDK is not installed on the machine where the on-premises data gateway is running.
As a prerequisites: To connect to Oracle, you will also need to install the Oracle client software on the machine where you have installed the on-premises data gateway. Specifically, the Oracle Database connection requires the installation of the 64-bit Oracle Data Provider for .NET. You can use the following link to download and install the Oracle client:
64-bit ODAC 12c Release 4 (12.1.0.2.4) for Windows x64
Hope this helps.

ASP.NET application is not able to find or connect to DSN of 64 bit Oracle Driver with error Data source name not found

I have developed ASP.Net application which is connecting to Oracle Database using ODBC via DSN connection.
Everything works on my local development environment but after I deployed in IIS, it is unable to connect to database & logs below error.
***[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified***
Then I started looking for solution & tried below things but nothing worked.
Checked the application is developed using Platform Any CPU.
DSN is configured & Tested Connection using Oracle client 64 bit ODBC Data Source. On 64 bit server DSN can be configured for 64 bit & 32 bit also.
Tried with setting permissions to DSN in registry for the apppool identity user.
Tried AppPool Setting for Enable 32Bit Application to True, in this case it give another error that ODBC & application architecture mismatch.
Please let me know if any more alternative is there, otherwise I am thinking of installing 32bit oracle client & try to connect using 32bit ODBC DSN.
Thanks for your help in advance.
Found this link very helpful.
https://support.microsoft.com/en-in/kb/942976
It says about the visibility of DSN connections for 32bit & 64bit applications.
Tried with small test utility (winform) & the behaviour for 32bit & 64 bit application can be distinquished.
But unable to find the solution for ASP.Net application.
I have built the code using X64 platform & then deployed it in IIS.
I was using 11.2.0 client so it started reading the DSN but Arithmetic operation resulted in an overflow exception. This is issue in the driver need to install the patch.
https://blogs.msdn.microsoft.com/mariae/2012/07/05/arithmetic-operation-resulted-in-an-overflow-error-running-a-report-that-uses-a-connection-data-source-to-oracle-10/

"Provider cannot be found. It may not be properly installed" using ORAOLEDB, IIS7, 32bit app, 64bit o/s

I have a classic ASP application which I've moved from a Windows 2003 server running IIS6.0 to 64-bit Windows 2008 R2 running IIS7. In IIS7 I've created a website and added an application to that and have set the application pool to enable 32-bit applications.
The application connects to an Oracle database using the ORAOLEDB driver - I've installed the 64-bit Oracle client 11.2.0.3 to connect to the backend Oracle 11g database and can connect fine via the same user as the application using SQLPlus.
When I run the application though, its attempt to connect to Oracle fails with the IIS logs showing the error:
"Provider cannot be found. It may not be properly installed"
I've tried various possible things to try and get this working:
registering OraOLEDB11.dll manually
disabling 32-bit applications from the app pool
using the 32-bit drivers instead both with 32-bits apps enabled and disabled
reinstalling the drivers completely and trying all the above
So far without any luck. The asp code connects as follows:
objOracleConnection.CursorLocation = adUseClient
objOracleConnection.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=MYDATASOURCE;User ID=USER;Password=PASSWORD;PLSQLRSet=1;OLE DB Services=-2;"
objOracleConnection.Open
EDIT: I've tried a simple VBS script (using essentially the same code as above) to connect and it gets the same error, so IIS may not be the problem. The exact same script works on the Windows 2003 box however.
I've reinstalled the Oracle client via the 'Troubleshoot Compatibility' option, indicating that the application works under Windows 2003 SP1 but still get the same issue from both the VBS script and the IIS application :(
This is an educated guess, but enabling 32 bit applications in IIS7 seems to disable 64 bit applications. If it's a 64 bit driver you may need to disable 32 bit in your app pool

Coldfusion 9.0.1 Standard 64bit and Oracle 11g 64bit ODBC connection results in "architecture mismatch"

I have a freshly built 64-bit Windows Server 2008 R2 box that I have installed 64-bit Coldfusion 9 Standard on. I've upgraded and hotfixed it up to the most current version of CF. I also had 64-bit Oracle 11g (11.1.0.7.0) Client installed on the box. I've created a System DSN using the 64-bit ODBC Data Source Administrator in Windows and can successfully test the connection of the data source.
All of these installations went smoothly, however, when I went to add a datasource in the Coldfusion Administrator I receive the error:
Connection verification failed for data source: myDatabaseName
java.sql.SQLException: [Macromedia][SequeLink JDBC Driver][ODBC Socket]internal error: The specified DSN contains an architecture mismatch between the Driver and Application
The root cause was that: java.sql.SQLException: [Macromedia][SequeLink JDBC Driver][ODBC Socket]internal error: The specified DSN contains an architecture mismatch between the Driver and Application
I am having a hard time understanding exactly where this architecture mismatch is coming from since the box is entirely 64-bit. I see while looking at all the processes that are running, some related CF processes are running in 32-bit (Verity related processes, SOLR and CFDotNetSVC). I am not sure if those could cause this issue but I am at a loss to explain were this mismatch would come from otherwise.
Anyone have any ideas?
Using Dan's advice I grabbed a JDBC Driver from Oracle here:
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-111060-084321.html
I then moved the JAR (ojdbc6.jar in my case) and added it to my Coldfusion Class Path.
Determining the correct settings for using the datasource to Coldfusion was slightly harder but here are the settings I ended up going with:
JDBC URL: jdbc:oracle:thin:#//dbsrv.mydomain.com:1521/myDB.world
Driver Class: oracle.jdbc.driver.OracleDriver
Driver Name: Oracle Thin Driver
Then the username and password for the DB.
Sure enough it worked like a charm.
Dan, I want to give you a check mark because you definitely put me in the right direction, but I can only mark one correct.
I believe you need to either step down to the 32-bit drivers, or use native JDBC drivers to connect to Oracle successfully. My suggestion would be to go the JDBC route, and connect directly through a native Oracle JDBC driver by using the "other" selection on the Datasource screen. You'll get better performance that way, and have more control over your connection via ColdFusion.
Connecting to Oracle information in ColdFusion Livedocs.
i found an alternate way to do this
install the ODBC drivers for 64bit and 32bit (in that order) on your win2008 64bit OS
thereafter create the DSNs on both the System32 folder and SysWow64 folder by running the odbc32ad32.exe
ensure your tnsnames are setup fine in the respective network/admin folder (if you use tnsnames to maintain your sids)
now on the CF admin you creaet a new ODBC source with aODBC Socket and name. the next page should show you a drop down of all DSNs that exists in the 64bit DSN setup. When you go and test it in CF, it will strangely use the config of the 32bit DSN setup for validationb
voila....your connections should work. No worries of those architectural failures etc
We needed to setup 64 bit ODBC connections for a ColdFusion 11 server to query against 2012 SQL Server instance on Windows 2008 R2 Server. The ODBC connections would show up but would never work. We received so many various messages when verifying such as "needing SSL connections to work" and also timeout messages as it was having problems logging into SQL Server.
I stumbled across this post and we decided to follow setting up 64bit ODBC connections and then effectively overwriting them--preserving the name using the 32bit ODBC. Thank you again fellow developers, especially Souzam! My instructions are below:
For Windows 2008R2 Server you must disguise 64bit ODBC socket configurations for 32 bit in order for them to appear in CF Admin as datasources (obvious bug in CF 11):
Creating 64bit ODBC connections via 2008 R2 ODBC application, follow a naming convention that will allow you to recall in 32 bit configuration.
Configure ODBC 32bit connection in SYSWOW64 (C:\Windows\SysWOW64) using the odbcad32.exe using the previous 64bit names in Step #1.
Create data sources in CF Admin as these should appear in a dropdown when creating ODBC Socket Type connections.

OleDB Provider for Oracle not found in in Windows Server 2008 with IIS 7

I'm deploying a small ASP.NET (framework 3.5) application in a Windows Server Web 2008 32 bits, IIS 7. The applications needs connection to an Oracle DB in another Server, using the tradicional DataAdapter, Oracle Connection, etc.
I´ve installed correctly the Oracle Client in the server (the server is another server´s client) and I´ve checked that this server has access to the server where the database is.
Even though my app isn´t able to connect to DataBase. The message says that Oracle components haven´t been found. It doesn´t find the OleDB Provider for Oracle or some dll.
¿Something I shluod know about permissions of the ASP.NEt users or something like this?
Some idea??
Thanks in advance.
Gus.
Check the path. It could be that the Oracle client directory is not on the path of the account that runs your ASPNET app.
Actually there are other steps you can go through, to verify the Oracle client install.
This article is old but may be helpful.

Resources