Loading Oracle.DataAccess, Version=2.102.2.20 using Reflection
Hi,
I 'm trying to load the Oracle.DataAccess, Version=2.102.2.20 assembly using Reflection in VS.NET2005. But I'm getting the next message:
"Could not load file or assembly 'Oracle.DataAccess.Client' or one of its dependencies. The system cannot find the file specified.":"Oracle.DataAccess.Client"}
fileName: "Oracle.DataAccess.Client"
This exception is thrown by the next code:
System.Reflection.Assembly.Load("Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342");
If I specified the full path of the assembly instead of the fullname then it works; but the idea is to use the assembly fullname instead.
Domebody has any idea how to overcome this exception?
Can you please check if the Oracle.DataAccess, Version=2.102.2.20 assembly is installed in the GAC?
Similar Messages
-
Server Error in '/' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Could not load file or assembly 'Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
Source Error:
Line 31: <compilation debug="true">
Line 32: <assemblies>
Line 33: <add assembly="Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89B483F429C47342" />
Line 34: <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
Line 35: <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Source File: D:\AverySignatureBinders\httpsdocs\ASBNet\web.config Line: 33
Assembly Load Trace: The following information can be helpful to determine why the assembly 'Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342' could not be loaded.
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].For Adapter Pack 2013 the following Oracle Client(s) are needed:
Supported client versions: Oracle Data Access Components for Oracle Client 12.1, Oracle Data Access Components for Oracle Client 11.2.0.1
And please bear in mind that both the 32- and 64 bit versions are needed.
Morten la Cour -
I have a C# windows application that started to give me the error when I try to run it:
Could not load file or assembly 'Oracle.DataAccess, Version=2.102.2.20.
I was adding and removing references and re-build when this started. The builds are successful Is there anything I can do to correct it? Other apps that I uses ODT are fine. The full error is below.
Thanks,
Kim
System.IO.FileLoadException was unhandled
Message="Could not load file or assembly 'Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)"
Source="perdiem_snapshot"
FileName="Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342"
StackTrace:
at perdiem_snapshot.frmDataGrid..ctor()
at perdiem_snapshot.Program.Main()
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()Hi There,
Were you able to resolve the issue. I am getting the same kind of error , when i am trying to deploy the application on a handheld device (symbol Mc9000g).
Do let me know if you were able to resolve it.
I am getting below message.
Could not load type 'Oracle.DataAccess.Client.OracleConnection' from assembly 'Oracle.DataAccess, Version=10.1.0.400, Culture=neutral, PublicKeyToken=89B483F429C47342'.
Kiran
Message was edited by:
Kpatel -
I have under C:\oracle\product\10.2.0\client_2\ODP.NET\bin the following folders:
1.x
2.x
But under C:\oracle\product\10.2.0\client_2\ODP.NET\PublisherPolicy, I could only find:
1.x
How do I get the policy for 2.x ?
Thank youThank you SKJ.
Just to complete this question, I use the following app.config:
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89B483F429C47342" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.2.0.401" newVersion="2.102.2.20"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration> -
Hi All,
While trying to access oracle database from SharePoint facing "Could not load file or assembly 'Oracle.DataAccess, Version=2.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified."
How to fix this issue? Thanks in advance!Hi,
According to your post, my understanding is that you get error while access oracle database in SharePoint.
You can set “Enable 32-bit Applications” to true in the application pool for the web application, then check whether it works.
For more information:
https://www.learningpenguin.net/myblog/2014/02/03/could-not-load-file-or-assembly-oracle-dataaccess-or-one-of-its-dependencies-an-attempt-was-made-to-load-a-program-with-an-incorrect-format/
Thanks & Regards,
Jason
Jason Guo
TechNet Community Support -
I have visual Studio 2008 and ODAC installed on Winows 7, my VS2008 application retrieves data from Oracle Db 10g xe. I get this error report wih every attempt to connect and interact wih the database:
"Could not load file or assembly 'Oracle.DataAccess, Version=2.111.6.20,
Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies.
The system cannot find the file specified."
What could be the issue? The same code that worked on Vista is the one returning this error report.I wonder if you could try the following command:
gacutil.exe /l Oracle.DataAccess
This should display the version number of the current assembly that it is GACed. In case that does not correspond to the version 2.111.6.20 then try:
gacutil.exe /u Oracle.DataAccess
and then find the path to the Oracle.DataAccess.dll assembly and issue the following command:
gacutil.exe /i {path}/Oracle.DataAccess.dll
The first command will display the version of the newly GACed assembly. If it still not what you are looking for please pass along the version that it is displayed.
In case the version will match 2.111.6.20, then retry to use VS2008 to connect to your Oracle DB. -
Hello Everyone,
I am simply trying to insert into an oracle database table. When I try to run the insert from my visual studio program after a button is clicked the program stops and I get "Could not load file or assembly 'Oracle.DataAccess, Version=4.112.4.0" error.
Why is this? I have added the reference and put "using Oracle.DataAccess;" in the file. The code is below. Any suggestions?
OracleConnection Con = new OracleConnection(ConfigurationManager.ConnectionStrings["ConnectionString1"].ToString());
OracleCommand sqlCmd = new OracleCommand();
//OracleDataReader dr;
sqlCmd.Connection = Con;
Con.Open();
sqlCmd.CommandText = "INSERT INTO FGID values (0, 0, 0, ' ', sysdate)";
sqlCmd.ExecuteNonQuery();
sqlCmd.Clone();
MessageBox.Show("Record Inserted!");
M.N.Hi Boa_nerges,
>>Could not load file or assembly 'Oracle.DataAccess, Version=4.112.4.0" error.
Whether all projects have the same issue?
Please make sure that it is not the platform target issue in your project property. Or the setup version issue.
Reference:
https://social.msdn.microsoft.com/Forums/en-US/9827bb73-a58b-415d-ad93-8e08f3a1258b/need-urgent-help-could-not-load-file-or-assembly-39oracledataaccess-version411220?forum=csharpgeneral
http://forums.asp.net/t/1661229.aspx?How+to+change+assembely+reference+to+Oracle+DataAccess+in+prod+
In addition, if still no help, since the oracle is the third party tool, I suggest you post this issue to the Oracle forum:
https://community.oracle.com/community/database
Best Regards,
Jack
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Hi There..
I'm running the follows:
1. OS : XP SP3
2. VS 2010
3. ODP Net 11.2.0.2.0
When I set the ASP NET target framework to .NET 4 all running normally. However, if the set target to .NET 2 appears error "Could not load file or assembly Oracle.DataAccess, Version=4.112.2.0".
What could be the problem ?
Thanks,
IqbalJust figure it out..
use assembly binding when targetted framework is 2.0
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342"/>
<bindingRedirect oldVersion="4.112.2.0" newVersion="2.112.2.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
.. and all running back normally :D -
Hi,
I am using windows 7 64 bit Enterprise Edition, Visual Studio 2010 Premium, and my app is built using .net framework 4.0. I downloaded and install ODP.NET 11.2.0.32 but when I add reference Oracle.DataAccess to my app, its giving me the following error, *"Could not load file or assembly 'Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified."*
I have checked other threads on this same topic, but I found that I have proper version (64bit) of ODP.NET as per my OS, Visual Studio & .net framework.
Am I missing something, please help.Hi,
I manage to resolve the error, the error is though due to a different reason,
I was trying to add ODP.Net 64bit reference directly to a Web Site project in Visual Studio 2010, then find out that this is not possible as the web site builds based on aspnet worker process, and that is 32bit, hence there was a problem referencing the 64bit ODP.NET assembly.
So I created a class library project for any cpu and refer the 64bit assembly in there, and refer the class library project in the main web site, and the problem solved. -
Oracle.DataAccess, Version=2.111.5.10
Hi,
I am trying to compile a project. One of the dependent projects needs the Oracle.DataAccess.dll but for some reason it's missing and i get the error.
The type 'Oracle.DataAccess.Client.OracleConnection' is defined in an assembly that is not referenced. You must add a reference to assembly 'Oracle.DataAccess, Version=2.111.5.10, Culture=neutral, PublicKeyToken=89b483f429c47342'.
On the net i found many versions to download for ODP.NET but i dont know which on to download for getting the correct verison of the dll.
Can someone help me with this?
ThanksODP.NET 2.111.5.10 was the 11g Beta 1 version. It is no longer available. You can use the the Beta 2 version: 2.111.6.10.
-
can any one provide a patch or way around on windows 7 64bit amd, for odp.net 11g, as the policy doesnt dot get registered for amd64 bit platform in c:/windows/assembly, one can see policy for 'Oracle.DataAccess 2.111.7.20 0n x86 but not for amd64.
help in this regard would be highly appreciated11.1.0.7.20 simply does not exist for x64.
The highest x64 version is currently 11.1.0.7.0.
If you need 11.1.0.7.20 functionality, you'll need to run the app as 32 bit, at least until 11.2 comes out (due out Q1CY2010)
Hope it helps,
Greg -
Unable to load Oracle.DataAccess
Hi ,
I have created a website project on .net framework 4.0 in Visual Studio 2010 . But I am unable to add reference the Oracle.DataAccess dll. It is continously throwing the error " unable to load assembly Oracle.DataAccess . The system cannot find the file specified. "
But when I tried adding the reference in a web application project , it gets added. But when run the project it is throwing the same error. On the web page the error thrown is this :
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Assembly Load Trace: The following information can be helpful to determine why the assembly 'Oracle.DataAccess' could not be loaded.
=== Pre-bind state information ===
LOG: User =***********
LOG: DisplayName = Oracle.DataAccess
(Partial)
WRN: Partial binding information was supplied for an assembly:
WRN: Assembly Name: Oracle.DataAccess | Domain ID: 2
WRN: A partial bind occurs when only part of the assembly display name is provided.
WRN: This might result in the binder loading an incorrect assembly.
WRN: It is recommended to provide a fully specified textual identity for the assembly,
WRN: that consists of the simple name, version, culture, and public key token.
Stack Trace:
[BadImageFormatException: Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +39
System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) +132
System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +144
System.Reflection.Assembly.Load(String assemblyString) +28
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46
Any help on this , please.. I have been trying all sorts of things and nothing seems to workl.BadImageFormatException occurs when you have a bit mismatch.
1) What is the TargetCPU set to when you compiled?
2) Are you running the app on 32 bit or 64 bit OS?
3) Confirm whether the app is running as 32 bit or 64 bit in the problem environment (open task manager, click the process tab, is there a *32 next to the name?)
4) Did you install 32 bit Oracle client or 64 bit Oracle client?
Cheers,
Greg -
FileLoadException with Oracle.DataAccess
Hello, I get the following error when I try to run my application on the app server. It works fine on my development box. Details on the server's configuration are below the error message.
**** BEGIN ERROR MESSAGE ****
System.IO.FileLoadException: The located assembly's manifest definition with name 'Oracle.DataAccess' does not match the assembly reference.
File name: "Oracle.DataAccess"
at msd.jobevaluation.frmLogon.cmdOK_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.PerformClick()
at System.Windows.Forms.Form.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.Control.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.TextBoxBase.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
at System.Windows.Forms.ThreadContext.System.Windows.Forms.UnsafeNativeMethods+IMsoComponent.FPreTranslateMessage(MSG& msg)
=== Pre-bind state information ===
LOG: DisplayName = Oracle.DataAccess, Version=1.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342
(Fully-specified)
LOG: Appbase = G:\Program Files\Metropolitan Sewer District\HR Job Evaluation [.NET]\bin\
LOG: Initial PrivatePath = NULL
Calling assembly : MSD.JobEvaluation, Version=2.0.2804.21439, Culture=neutral, PublicKeyToken=null.
===
LOG: Publisher policy file is found at G:\WINNT\assembly\GAC\policy.1.102.Oracle.DataAccess\1.102.3.0__89b483f429c47342\Policy.1.102.Oracle.DataAccess.config.
LOG: Publisher policy file redirect is found: 1.102.2.20 redirected to 1.102.3.0.
LOG: Host configuration file not found.
LOG: Using machine configuration file from G:\WINNT\Microsoft.NET\Framework\v1.1.4322\config\machine.config.
LOG: Post-policy reference: Oracle.DataAccess, Version=1.102.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342
LOG: Attempting download of new URL file:///G:/Program Files/Metropolitan Sewer District/HR Job Evaluation [.NET]/bin/Oracle.DataAccess.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Revision Number
************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2407
CodeBase: file:///g:/winnt/microsoft.net/framework/v1.1.4322/mscorlib.dll
MSD.JobEvaluation
Assembly Version: 2.0.2804.21439
Win32 Version: 2.0.2804.21439
CodeBase: file:///G:/Program%20Files/Metropolitan%20Sewer%20District/HR%20Job%20Evaluation%20%5B.NET%5D/bin/MSD.JobEvaluation.exe
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///g:/winnt/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2407
CodeBase: file:///g:/winnt/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///g:/winnt/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
System.Data.OracleClient
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///g:/winnt/assembly/gac/system.data.oracleclient/1.0.5000.0__b77a5c561934e089/system.data.oracleclient.dll
System.Data
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///g:/winnt/assembly/gac/system.data/1.0.5000.0__b77a5c561934e089/system.data.dll
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.6001.4
CodeBase: file:///g:/winnt/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
**** END ERROR MESSAGE ****
I have done some diagnostic work, and it appears to me that Policy.1.102.Oracle.DataAccess is being invoked, which redirects to ODP version 1.102.3.0. The problem is that in the GAC, and in my application's /bin directory, the Oracle.DataAccess version is 1.102.2.20. I don't think that 1.102.3.0 exists on this server, and I don't know how to get it. Is it from a patch that might need to be installed?
How can I fix this? I'm not very experienced with assembly configuration, binding redirects, and all that. Any help would be appreciated.
Additional information:
* .NET Framework 1.1
* Windows 2000 server SP-4
* VS.Net 2003
* gacutil /l Oracle.DataAccess = oracle.dataaccess, Version=1.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342, Custom=null
* gacutil /l Policy.1.102.Oracle.DataAccess - Policy.1.102.oracle.dataaccess, Version=1.102.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, Custom=nullThanks! That got me a little farther down the road. The FileLoadException error went away, but now I am getting the following:
System.TypeInitializationException: The type initializer for "Oracle.DataAccess.Client.OracleConnection" threw an exception. ---> Oracle.DataAccess.Client.OracleException The provider is not compatible with the version of Oracle client at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleConnection..cctor()
at Oracle.DataAccess.Client.OracleConnection..cctor()
--- End of inner exception stack trace ---
at Oracle.DataAccess.Client.OracleConnection..ctor()
at msd.jobevaluation.frmLogon.cmdOK_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.PerformClick()
at System.Windows.Forms.Form.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.Control.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.TextBoxBase.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
at System.Windows.Forms.ThreadContext.System.Windows.Forms.UnsafeNativeMethods+IMsoComponent.FPreTranslateMessage(MSG& msg)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2407
CodeBase: file:///g:/winnt/microsoft.net/framework/v1.1.4322/mscorlib.dll
MSD.JobEvaluation
Assembly Version: 2.0.2804.21439
Win32 Version: 2.0.2804.21439
CodeBase: file:///G:/Program%20Files/Metropolitan%20Sewer%20District/HR%20Job%20Evaluation%20%5B.NET%5D/bin/MSD.JobEvaluation.exe
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///g:/winnt/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2407
CodeBase: file:///g:/winnt/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///g:/winnt/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
System.Data.OracleClient
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///g:/winnt/assembly/gac/system.data.oracleclient/1.0.5000.0__b77a5c561934e089/system.data.oracleclient.dll
System.Data
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///g:/winnt/assembly/gac/system.data/1.0.5000.0__b77a5c561934e089/system.data.dll
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.6001.4
CodeBase: file:///g:/winnt/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
Oracle.DataAccess
Assembly Version: 1.102.2.20
Win32 Version: 1.102.2.20
CodeBase: file:///g:/winnt/assembly/gac/oracle.dataaccess/1.102.2.20__89b483f429c47342/oracle.dataaccess.dll
**** END ERROR MESSAGE *****
I don't understand why I am getting this one because I'm very confident that my ODP versions are correct. -
System.OutOfMemoryException Oracle.DataAccess.Client.OracleParameter
Hi , nt
I am working on a legacy system where the end users reported exception while loading a page. This is developend in ASP.NET 2.0 and Oracle.DataAccess. The exception is not reproducible in any of the staging or development serves, and is not consistent.ie sometime works and sometiem not. The exception is as follows,
System.OutOfMemoryException: Insufficient memory to continue the execution of the program. at System.Runtime.InteropServices.Marshal.AllocCoTaskMem(Int32 cb) at Oracle.DataAccess.Client.OracleParameter.PreBind_Char() at Oracle.DataAccess.Client.OracleParameter.PreBind(OracleConnection conn, IntPtr errCtx, Int32 arraySize) at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
The way it calls in the data access layes are as follows, removed some parameters to just to get flow clear,
public void GetXXXData (
UserCredentials credentials
, decimal? P_IN_ID
, string P_IN_TYPE
, out string[] P_OUT_XX_ID
, out string[] P_OUT_XX_NAME
, int? outputArrayLength
if (outputArrayLength == null)
outputArrayLength = 3000;
OdacCmd cmd = null;
P_OUT_XX_ID = null;
P_OUT_XX_NAME = null;
cmd = OdacFactory.CreateCommand("PK_XX_QAS1.pr_xx_data_q", credentials);
cmd.AddParam("P_IN_ID", P_IN_ID);
cmd.AddParam("P_IN_QUAL_TYPE", P_IN_TYPE);
IDataParameter param_P_OUT_XX_ID = cmd.AddOutputParameterString("P_OUT_XX_ID", outputArrayLength.Value);
IDataParameter param_P_OUT_XX_NAME = cmd.AddOutputParameterString("P_OUT_XX_NAME", outputArrayLength.Value);
cmd.ExecuteNonQuery();
P_OUT_XX_ID = OdacFactory.GetStringArray(param_P_OUT_XX_ID.Value);
P_OUT_XX_NAME = OdacFactory.GetStringArray(param_P_OUT_XX_NAME.Value);
Any help on this is greatly apprecitaed
-Jyothish GeorgeWhat version of the client / odp.net are you using?
I took your code and pretty much pasted it into Visual Studio Express:
Module Module1
Sub Main()
TestOracle()
TestMicrosoft()
End Sub
Private Sub TestOracle()
Dim builder As New Oracle.DataAccess.Client.OracleConnectionStringBuilder
builder.DataSource = "lt10gr2"
builder.UserID = "scott"
builder.Password = "tiger"
Dim oraConn As Oracle.DataAccess.Client.OracleConnection = New Oracle.DataAccess.Client.OracleConnection(builder.ConnectionString)
Dim oraCMD As New Oracle.DataAccess.Client.OracleCommand("SELECT empno, ename FROM emp", oraConn)
Dim MyDA As New Oracle.DataAccess.Client.OracleDataAdapter(oraCMD)
Dim ds As New DataSet
MyDA.Fill(ds)
End Sub
Private Sub TestMicrosoft()
Dim builder As New System.Data.OracleClient.OracleConnectionStringBuilder
builder.DataSource = "lt10gr2"
builder.UserID = "scott"
builder.Password = "tiger"
Dim oraConn As System.Data.OracleClient.OracleConnection = New System.Data.OracleClient.OracleConnection(builder.ConnectionString)
Dim oraCMD As New System.Data.OracleClient.OracleCommand("SELECT empno, ename FROM emp", oraConn)
Dim MyDA As New System.Data.OracleClient.OracleDataAdapter(oraCMD)
Dim ds As New DataSet
MyDA.Fill(ds)
End Sub
End ModuleIt ran with no errors on my system.
C:\>gacutil /l | find "Oracle.DataAccess"
Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86- Mark -
Hi,
My application uses ODP.net to connect to Oracle and can run successfully within Visual Studio 2005 , but if I copied .exe to another folder (outside MS Visual Studio) then I got the error:
Could not load file or assembly 'Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
There are two entries in my references, I pointed to Oracle.DataAccess 2.102.2.20 (the one in ODP.net)
Oracle.DataAccess 10.2.0.100 V1.0.3705 c:\oracle\product\db_1\bin\Oracle.DataAccess.dll
Oracle.DataAccess 2.102.2.20 V2.0.50727 c:\oracle\product\client_1\odp.net
bin\2.x\Oracle.DataAccess.dll
Anyone can help?
Thanks
LizHi,
Oracle's ODP.net is client version specific, so 10.2 Oracle.DataAccess.dll requires the corresponding version of OraOps10(w).dll which comes with Oracle.DataAccess.dll, as well as a 10.2 client.
You can not distribute the 10.x Oracle.DataAccess.dll and expect it to work on a 9.x client.
If you know your users will have SOME version of ODP and Oracle client installed, you'd have to compile your app with the lowest version of ODP (9.2) in order for it to work on all installs.
We didnt have an ODP in 8.x, so that's right out.
Instant client is still an Oracle client, its just in a different form. The 11.1.6.20 odp comes with instant client so you dont need to download it seperately, but as far as getting a better understanding of what it is please see the following:
http://www.oracle.com/technology/tech/oci/instantclient/index.html
Just fyi, System.Data.OracleClient (Microsoft's ODP for Oracle) that comes with the .NET framework is not tied to any particular version of Oracle client, so could be used with any version of client install. It doesnt have as much cool stuff as Oracle's ODP does though.
Hope it helps,
Greg
Maybe you are looking for
-
Tenog un ipod color display de 60Gb de capacidad, recientemente le hice un software update y la capacidad del ipod cambio a 18.1Gb y no eh podido cambiar la capacidad. Ya intente restaurarlo, hacerle otro update, darle format y no sirve nada. Que pue
-
How to View Folders First in Finder (a la Windows!?)
Is there a way to configure the finder view so that it is arranged alphabetically, but showing folders before files (like in Windows Explorer)? I can do it with Kind sorting, but apparently not alphabetically. Many thanks!
-
I recorded a video using my iphone in one orientation (portrait style) but when I play it on my computer it plays sideways. Peoples heads point west and their feet point east. How can i get it to play normally on my computer? I now know that in the f
-
when i try to finalize my first movie project, i get the message that sharing requires more memory to be available and to close imovie and relaunch it. This is a new computer and has nearly all it's memory free. If I close, I will probably lose my
-
Needed to reinstall parts of Gnome after hardware problem?
Wasn't sure exactly where to post this, but I suppose this is the best place for it. Thankfully, I've already solved my problem but I wonder if anyone has any ideas on why it was a problem in the first place. Apparently, either my CPU or my motherboa