System.AccessViolationException from Oracle.DataAccess.Client.OpsSql.Execut
We support a VB.NET application which uses Oracle Data Access Components (ODAC) 10.2.0.2.21 to access an Oracle 11g database. The database is on another server, so from time to time application loses its database connection because of comms failures. To cater for this eventuality it checks for a valid connection before every database call and reopens the database if it can’t find one. This works, but subsequent database calls fail and return a System.AccessViolationException.
Here is an extract from the trace.
2010-09-08 17:08:42,284 ERROR - Database connection lost. Oracle.DataAccess.Client.OracleException ORA-03135: connection lost contact
at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src)
at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
2010-09-08 17:08:42,377 [5] ERROR xxxxxxxx [(null)] - Database connection established.
2010-09-08 17:08:42,440 [5] ERROR xxxxxxxx [(null)] - ERROR - error in xxxxxxxx. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at Oracle.DataAccess.Client.OpsSql.ExecuteNonQuery(IntPtr opsConCtx, IntPtr& opsErrCtx, IntPtr& opsSqlCtx, IntPtr& opsDacCtx, IntPtr opsSubscrCtx, Int32& isSubscrRegistered, OpoSqlValCtx*& pOpoSqlValCtx, String pCommandText, IntPtr& pUTF8CommandText, IntPtr[] pOpoPrmValCtx, String[] ppOpoPrmRefCtx, OpoMetValCtx*& pOpoMetValCtx, Int32 prmCnt)
at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
Has anyone come across this before? Any help will be gratefully received
Try posting this to the ODP.NET forum.
You might need to flush out the connection pool, but they can help you with that.
Similar Messages
-
Within a single day I have experienced twice a peculiar problem with Oracle.DataAccess.Client.OpsSql::ExecuteReader()
Calling ExecuteReader() blocks indefinitely on a simple select query (it was a different query the two times). The CPU of the Oracle Server was low, so it is not likely that it has been too busy (and moreover at least 10 minutes passed, and it was still blocked)
Strangely in v$session there was no session entry for the particular process+thread that made the call. There was an inactive session from the same process, but different thread
My guess is that somehow the Oracle executed the query, but the Oracle Client was not notified and remained waiting. The issue happened on a virtual machine with not stable network connection. Could it be that some packets were lost and the Oracle Client just kept waiting?
Can anybody recommend a course of action?
Btw, I use ODP.NET 2.111.6.20I use VPN all day every day, and havent seen that problem.
A client sqlnet trace may help as well, and I'm guessing will show the client is waiting on a packet from the db.
You may want to take a hang dump using ADPlus, and my guess is you'll see a socket stuck in WSA_Recv32 (waiting for a packet that never comes).
The default time to wait for a packet is like 2 hours if I remember right.
You may want to see if your network guys can have a look, or use a tool like WireShark to monitor packets.
Hope it helps, sorry I dont have a quick easy answer for you.
Greg -
Hi, I'm a newbie using Oracle ODP.NET provider for .NET.
We have a web application that uses XSD to connect to Oracle using the provider System.Data.OracleClient.
We want to migrate from System.Data.OracleClient to Oracle.DataAccess.Client.
Installing and referencing the Oracle.DataAccess.dll all works fine.
Then I changed all the references from System.Data.OracleClient to Oracle.DataAccess.Client and removed the System.Data.OracleClient.dll assembly from the web.config file.
All compiles well, until I run the application, looks like the problem is the parameter use in the XSD file... the error I get is:
Server Error in '/src' Application.
Value does not fall within the expected range.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentException: Value does not fall within the expected range.
Source Error:
Line 8864: global::Oracle.DataAccess.Client.OracleParameter param = new global::Oracle.DataAccess.Client.OracleParameter();
Line 8865: param.ParameterName = "Original_TIPOCOMISIONID";
Line 8866: param.DbType = global::System.Data.DbType.VarNumeric;
Line 8867: param.IsNullable = true;
Line 8868: param.SourceColumn = "TIPOCOMISIONID";
Source File: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\src\4a9afcc3\460b5b6b\App_Code.eljteq62.7.cs Line: 8866
Stack Trace:
[ArgumentException: Value does not fall within the expected range.]
Oracle.DataAccess.Client.OracleParameter.set_DbType(DbType value) +134
dsProductosTableAdapters.SIPC_TIPOCOMISIONTableAdapter.InitAdapter() in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\src\4a9afcc3\460b5b6b\App_Code.eljteq62.7.cs:8866
dsProductosTableAdapters.SIPC_TIPOCOMISIONTableAdapter.get_Adapter() in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\src\4a9afcc3\460b5b6b\App_Code.eljteq62.7.cs:8797
dsProductosTableAdapters.SIPC_TIPOCOMISIONTableAdapter.GetData() in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\src\4a9afcc3\460b5b6b\App_Code.eljteq62.7.cs:8993
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +0
System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +71
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +350
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +29
System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance) +488
System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1247
System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +95
System.Web.UI.WebControls.ListControl.PerformSelect() +34
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.BaseDataBoundControl.OnPreRender(EventArgs e) +22
System.Web.UI.WebControls.ListControl.OnPreRender(EventArgs e) +18
System.Web.UI.Control.PreRenderRecursiveInternal() +80
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842
Version Information: Microsoft .NET Framework Version:2.0.50727.3615; ASP.NET Version:2.0.50727.3614
I'd like some help on how to make the XSD compile with the new provider, Oracle.DataAccess.Client.
Many thanks in advance for any help!
PieterMS OracleClient binds parameters by name. ODP.NET binds by position. If you want to change ODP.NET's default parameter binding behavior, set:
OracleCommand.BindByName = true;
Do this for every OracleCommand that binds parameters. -
Ok, I can use two differenct data providers in VisualCSharp/.NET:
1.) MS built-in data provider:
using System.Data.OracleClient ;
2.) Oracle ODP.NET data provider:
using Oracle.DataAccess.Client ;
How much faster is Oracle over the built-in access provider ?
Does Oracles ODP use MS basic ADO.NET as underlying layer
or does it bypass it ?
What are the other advantages when I use Oracle ODP?
Is there a side-by-side comparison chart between the two access methods ?I would say that it is both for speed and for functionality. The ODP data provider has Oracle specific functionality that is not available via the MS data provider.
From the ODP.NET page:
ODP.NET includes many features not available from other .NET drivers, including a native XML data type, the ability to bind array parameters, RAC tuning, and statement caching. -
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 -
I am wondering why this code:
Dim builder As New Oracle.DataAccess.Client.OracleConnectionStringBuilder
builder.DataSource = "datasourcename"
builder.UserID = "user"
builder.Password = "pass"
Dim oraConn As Oracle.DataAccess.Client.OracleConnection = New Oracle.DataAccess.Client.OracleConnection(builder.ConnectionString)
Dim oraCMD As New Oracle.DataAccess.Client.OracleCommand("SELECT field1, field2 FROM table", oraConn)
Dim MyDA As New Oracle.DataAccess.Client.OracleDataAdapter(oraCMD)
Dim ds As New DataSet
MyDA.Fill(ds)
DataGrid1.DataSource = ds.Tables(0)
throws a "Object reference not set to an instance of an object." at the line "MyDA.Fill(ds)"
and this code runs fine:
Dim builder As New System.Data.OracleClient.OracleConnectionStringBuilder
builder.DataSource = "datasourcename"
builder.UserID = "user"
builder.Password = "pass"
Dim oraConn As System.Data.OracleClient.OracleConnection = New System.Data.OracleClient.OracleConnection(builder.ConnectionString)
Dim oraCMD As New System.Data.OracleClient.OracleCommand("SELECT field1, field2 FROM table", oraConn)
Dim MyDA As New System.Data.OracleClient.OracleDataAdapter(oraCMD)
Dim ds As New DataSet
MyDA.Fill(ds)
DataGrid1.DataSource = ds.Tables(0)
Any thoughts?What 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 -
Oracle.DataAccess.Client.OracleException ORA-29875 - ODCIINDEXINSERT error
Hi,
We are migrating data into our GIS repository using an application witch uses ODP fro .NET.
Yesterday, when we were importing parcels from a certain geographic zone we have got this error:
4430528 [4028] ERROR DBCommand - Error Executing Command [PARCELA.WRITE]
Parameters:
ResValue: [Int32]
POP_ID: [Int64]35397
PAR_ID: [Varchar2]
BLO_ID: [Decimal]836170
PAR_NUM: [Varchar2]1480296132900
geometry: [Blob]System.Byte[]
PAR_PON_ETI: [Blob]System.Byte[]
Oracle.DataAccess.Client.OracleException ORA-29875: failed in the execution of t
he ODCIINDEXINSERT routine
ORA-29400: data cartridge error
ORA-14450: attempt to access a transactional temp table already in use
ORA-06512: at "MDSYS.SDO_IDX", line 161
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 332
ORA-06512: at "SIG.PARCELA", line 354
ORA-06512: at "SIG.PARCELA", line 479
ORA-06512: at line 1 at pt.inga.db.Command.Execute(IDbConnection connection,
IDbCommand command, Boolean& closeConnection) in C:\code-base\inga\isig\src-1.0.
0.2\pt\inga\db\Command.cs:line 234
at pt.inga.db.Command.Execute(IDbConnection connection, OracleCommand command
, IDataRecord parentRecord, IDataRecord dataRecord, IOperationData operation, Bo
olean& closeConnection) in C:\code-base\inga\isig\src-1.0.0.2\pt\inga\db\Command
.cs:line 334
The error seems to be related with temporary tables manipulation, does it?
Has we didnât know what to do we try to import those parcels after dropping a spatial index over the parcelâs table and we succeed with the import.
Those any one has any ideas about this?
And about spatial indexes internals?
Thanks in advance,
Vitor
Versions:
Client: Oracle10g Data Provider for .NET 10.1.0.2.0
Clientâs OS: Windows 2003 server
Server: Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Serverâs OS: AIX 5.2.0.0Vitor,
Yes, Oracle uses temporary tables as part of inserts/
deletes/updates on a table with a spatial index.
Temporary table usage internally should not
have any issues and we are not sure why this problem
surfaces. Opening a TAR on this with a simplified
testcase (and all config details: # of concurrent
sessions etc.) might help in a better understanding/
resolution of this issue.
In the meanwhile, as a workaround, you can do the
following:
- drop the spatial index
- migrate (insert) the data into the table from the
application
- recreate the spatial index
This will avoid the temporary table issue at hand.
- Ravi. -
Hi,
I am using Visual Studio 2003. I am creating a ASP.NET Web Application NOT Windows Application.
I logged into Oracle as a DBA, but I got this message.
I wasn't sure if I missed anything when working on the Web.
Thanks for your help.
LuanHi Chris,
Thank you so much for your help.
Yes, I use oracle explorer. Sorry, the code is kind of long. Here is the code:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebBank
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class WebForm1 : System.Web.UI.Page
protected Oracle.DataAccess.Client.OracleDataAdapter oracleDataAdapter1;
protected Oracle.DataAccess.Client.OracleCommand oracleCommand1;
protected Oracle.DataAccess.Client.OracleConnection oracleConnection1;
protected System.Web.UI.WebControls.Button btnOK;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)
// Put user code to initialize the page here
//DataSet ds = new DataSet();
//oracleDataAdapter1.Fill(ds);
//DataGrid1.DataSource = ds.Tables[0];
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
InitializeComponent();
base.OnInit(e);
DataSet ds = new DataSet();
oracleDataAdapter1.Fill(ds);
DataGrid1.DataSource = ds.Tables[0];
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
this.oracleDataAdapter1 = new Oracle.DataAccess.Client.OracleDataAdapter();
this.oracleCommand1 = new Oracle.DataAccess.Client.OracleCommand();
this.oracleConnection1 = new Oracle.DataAccess.Client.OracleConnection();
// oracleDataAdapter1
this.oracleDataAdapter1.SelectCommand = this.oracleCommand1;
this.oracleDataAdapter1.RowUpdated += new Oracle.DataAccess.Client.OracleRowUpdatedEventHandler(this.oracleDataAdapter1_RowUpdated);
// oracleCommand1
this.oracleCommand1.CommandText = "SELECT * FROM SYSTEM.CUSTOMER";
this.oracleCommand1.Connection = this.oracleConnection1;
// oracleConnection1
this.oracleConnection1.ConnectionString = "User Id=system;Data Source=TESTDB;Password=passwd;Persist Security Info=true;";
this.oracleConnection1.InfoMessage += new Oracle.DataAccess.Client.OracleInfoMessageEventHandler(this.oracleConnection1_InfoMessage);
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
this.Load += new System.EventHandler(this.Page_Load);
#endregion
private void oracleConnection1_InfoMessage(object sender, Oracle.DataAccess.Client.OracleInfoMessageEventArgs eventArgs)
private void oracleDataAdapter1_RowUpdated(object sender, Oracle.DataAccess.Client.OracleRowUpdatedEventArgs e)
private void btnOK_Click(object sender, System.EventArgs e)
DataSet ds = new DataSet();
oracleDataAdapter1.Fill(ds);
DataGrid1.DataSource = ds.Tables[0]; -
Oracle.DataAccess.Client.OracleConnection
I have been reading for hours and just cant seem to make this work. I have a window app that used the ORACLEDATAACESS.dll it works great on the pc. i made the APP but when i try to redistribute i get this nasty message. I read from these forums that i should install the ODP.net net on the computer that will get the installation and i have done that but i cant see to get anywhere. Can someone please give me a tip and point out the obvious i just dont know what to do anymore. t
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.OracleConnection..cctor()
--- End of inner exception stack trace ---
at Oracle.DataAccess.Client.OracleConnection.Dispose(Boolean disposing)
at System.ComponentModel.Component.Finalize()
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
Notepad
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/JAM/My%20Notepad/Notepad.exe
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
System.Runtime.Remoting
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
Oracle.DataAccess
Assembly Version: 2.111.7.10
Win32 Version: 2.111.7.10
CodeBase: file:///C:/Program%20Files/JAM/My%20Notepad/Oracle.DataAccess.DLL
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
System.Transactions
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.Oh interesting. I imagine there's a lot of ways that issue could crop up. Thanks!
I am driving myself completely out of my mind having tried to move a "solution" from one computer
to another. That is not a nobrainer. I ran into an issue on my home computer that defied all efforts to
stop it (the cursed varchar columns) so I decided to give up and do the development at work. But the project has not liked the
move. That is such an issue for an faq: how to design your project and whatever so that it can be
moved from one development location to another, one database to another, and then,
how to deploy it. And yeah now that you mention it differences in drive letters might well be a
factor here. :-( -
Oracle.DataAccess.Client - DbProviderFactories.GetFactory
Hello
I was inspired by this article http://www.oracle.com/technology/oramag/oracle/06-winsupp/win06odp.html
And been trying to switch my project over from "System.Data.OracleClient" (seems like it's not friendly with TransactionScope) to ODP.NET "Oracle.DataAccess.Client". I failed from get go:
Code:
DbProviderFactory oDbFactory = DbProviderFactories.GetFactory("Oracle.DataAccess.Client");
Keep getting System.Configuration.ConfigurationErrorsException saying:
+"Failed to find or load the registered .Net Framework Data Provider."+
In my futile attempt to resolve this:
STEP 1: In machine.config
* Under \\configuration\configSections\, *add:
<section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
* Under ..\system.data\DbProviderFactories\, *add:
<add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description=".Net Framework Data Provider for Oracle" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyToken=89b483f429c47342" />
STEP 2: I checked my assembly cache it's there:
Code:
D:\Program Files\Microsoft Visual Studio 9.0\VC>gacutil /l | findstr Oracle
System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77
a5c561934e089, processorArchitecture=x86
CoreLab.Oracle, Version=3.50.12.0, Culture=neutral, PublicKeyToken=09af7300eec
+23701, processorArchitecture=MSIL+
Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyToken=89b483f
+429c47342+
Oracle.DataAccess.resources, Version=10.2.0.100, Culture=de, PublicKeyToken=89
b483f429c47342
Oracle.DataAccess.resources, Version=10.2.0.100, Culture=es, PublicKeyToken=89
b483f429c47342
Oracle.DataAccess.resources, Version=10.2.0.100, Culture=fr, PublicKeyToken=89
b483f429c47342
Oracle.DataAccess.resources, Version=10.2.0.100, Culture=it, PublicKeyToken=89
b483f429c47342
Oracle.DataAccess.resources, Version=10.2.0.100, Culture=ja, PublicKeyToken=89
b483f429c47342
Oracle.DataAccess.resources, Version=10.2.0.100, Culture=ko, PublicKeyToken=89
b483f429c47342
Oracle.DataAccess.resources, Version=10.2.0.100, Culture=pt-BR, PublicKeyToken
+=89b483f429c47342+
Oracle.DataAccess.resources, Version=10.2.0.100, Culture=zh-CHS, PublicKeyToke
n=89b483f429c47342
Oracle.DataAccess.resources, Version=10.2.0.100, Culture=zh-CHT, PublicKeyToke
n=89b483f429c47342
Policy.9.2.Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyTo
ken=89b483f429c47342
See, I'm sure the assembly has been installed and in machine.config I used the right key/version. Weird thing is, Red Gate's reflector won't allow me to "Open" (from Cache) the dll, this prevented me to check if there exists "Oracle.DataAccess.Client.OracleClientFactory" within the assembly. So I select "Copy Local" and examined the dll from "Red Gates Reflector". There's no "Oracle.DataAccess.Client.OracleClientFactory" in the dll ???
RedGates Reflector - Screencap:
http://www.codeguru.com/forum/showthread.php?p=1831221#post1831221
STEP 3. Somebody advised to check and make sure "msvcr71.dll" is found under "ORACLE_HOME\bin" and if not copy from "D:\WINDOWS\system32". I did, it's ALREADY there.
REF:
http://www.oracle.com/technology/ora.../win06odp.html
http://social.msdn.microsoft.com/For...7-92c63ac82144
http://forums.oracle.com/forums/thre...89702�
Edited by: devvvy on Apr 9, 2009 2:57 AMThanks just installed from http://www.oracle.com/technology/software/tech/dotnet/utilsoft.html
It seems version is "2.111.6.20" - from machine.config there's a new line
<add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342" />
i added reference to it from Visual Studio. It's working now.
There were two options: one for client, the other for server. I don't understand what it means but stick to "Client" which was the default. Is this okay?
At the end there was a reminder "Run Oracle Providers for ASP.NET SQL scripts located in D:\OracleODPNET\ASP.NET\SQL directory."
Anyway, I'm verrrry glad this is working now many thanks!!! (I feel like 10 years older) -
OdpNetWs: can not find Oracle.DataAccess.Client
When I try to compile ODPService.asmx are shown compilation erros "Namespace or type Client for namespace Oracle.DataAccess.Client cannot be found"
When I compile C# sample projects (DSPopulate) sach error does not present.
assembly Oracle.DataAccess setted via .NET Framework configuration (Oracle.DataAccess.dll in PATH environment variable)By tha way if i create a user user1....how do i grant
all the
necessary privileges from ctxsys schema/user in order
to be
able to run an Oracle Text Apps?You shouldn't have to do anything. When you create a new workspace, the workspace user (the oracle account) has the right privileges.
You can just create a new workspace and run the following example:
CREATE TABLE TEST(nr NUMBER PRIMARY KEY, test_text VARCHAR2(500))
INSERT INTO TEST
VALUES (1, 'This is a test');
INSERT INTO TEST
VALUES (2, 'of the InterMedia text installation')
COMMIT
CREATE INDEX test_idx ON TEST(test_text) INDEXTYPE IS ctxsys.CONTEXT
SELECT nr, test_text
FROM TEST
WHERE contains (test_text, 'installation') > 0
Yes its 10.2. the welcome web login window shows
version 10.2Sorry, but this is not what I have asked you to do (already twice) . I am getting a bit frustrated here and I really want to help you.
But you see, sometimes it is only details that mess up everything.
I assume you have mixed the versions of the base install and the companion cd install disk. I might be wrong in my assumptions but we have to get clear on the facts.
I cannot look at your machine so you have to help me to be able to help you.
Please do the following
1) run the following command on your instance as a dba (sys or system):
SQL> select version from v$instance;
VERSION
10.2.0.1.02) start the universal installer of your companion cd and post the output.
Preparing to launch Oracle Universal Installer from
/tmp/OraInstall2006-01-11_10-32-25AM. Please wait ...[oracle@daust companion]$
Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.As I've said, I might be wrong in my assumptions. So, prove me wrong and let's move ahead :).
~Dietmar. -
Hi all,
I have an application that is working fine on windows XP. On windows 7, the same application cannot work cause of the tag oracle.dataaccess.client you can see below which is not recognized by the system. As soon as I start the application I get an error
message
Unrecognized configuration section oracle.dataaccess.client. Can someone help please before I get nuts.
<oracle.dataaccess.client>
<settings>
<add name=""EA_SERVICES"."SLI_SECURITY_PKG"."SEC_GROUPS_ADD".RefCursor.OUTPARAM" value="implicitRefCursor bindinfo='mode=Output'"/>
<add name=""EA_SERVICES"."SLI_SECURITY_PKG"."SEC_GROUP_MEMBERS_ADD".RefCursor.OUTPARAM" value="implicitRefCursor bindinfo='mode=Output'"/>
<add name=""EA_SERVICES"."SLI_SECURITY_PKG"."SEC_OBJECTS_ADD".RefCursor.OUTPARAM" value="implicitRefCursor bindinfo='mode=Output'"/>
<add name=""EA_SERVICES"."SLI_SECURITY_PKG"."SEC_RIGHTS_ADD".RefCursor.OUTPARAM" value="implicitRefCursor bindinfo='mode=Output'"/>
<add name=""EA_SERVICES"."SLI_SECURITY_PKG"."SEC_RIGHT_GROUPS_ADD".RefCursor.OUTPARAM" value="implicitRefCursor bindinfo='mode=Output'"/>
<add name=""EA_SERVICES"."SLI_SECURITY_PKG"."SEC_USERS_ADD".RefCursor.OUTPARAM" value="implicitRefCursor bindinfo='mode=Output'"/>
</settings>
</oracle.dataaccess.client>
Sherman Body loveSince this is an oracle section, I think you'll get more help over at the oracle forums.
https://community.oracle.com/community/developer/english/oracle_database/windows_and_.net/oracle_developer_tools_for_visual_studio
I would check the versions of the odp.net (oracle.dataaccess.dll) on both machines. The XP machine probably has the 11g client on it. And the windows 7 machine probably has the 12c client on it. -
oracle.dataaccess.client not recognized in app.config for edmMapping
Hi,
I installed ODTwithODAC112030 EF provider release version.
So I want to use custom EDM Mapping for boolean or something else.
But Entity Data Model can't recognize
<oracle.dataaccess.client>
<settings>
section in appConfig file.
I'm using Win 7 x64 , VS 2010 and x86 odac components.
How can i resolve this problem.
Thank you..Would you please do a simple test like follows?
1. create test table
create table test_table (c1 number(4) primary key not null, c2 number(1, 0), c3 number(2), c4 number(5, 0), c5 number(10, 0), c6 number(19, 0));
2. create a C# Console application and create a data model from test_table.
Because there is no custom type mapping specified in app.config, default mapping is used in the model.
Your CSDL section in Model1.edmx should show:
<EntityType Name="TEST_TABLE">
<Key>
<PropertyRef Name="C1" />
</Key>
<Property Name="C1" Type="Int16" Nullable="false" />
<Property Name="C2" Type="Int16" />
<Property Name="C3" Type="Int16" />
<Property Name="C4" Type="Int16" />
<Property Name="C5" Type="Int32" />
<Property Name="C6" Type="Int64" />
</EntityType>
3. Delete Model1.edmx.
4. Open app.config and add the following below </connectionStrings> and above </configuration>. Save changes.
<oracle.dataaccess.client>
<settings>
<add name="bool" value="edmmapping number(1, 0)" />
<add name="byte" value="edmmapping number(3, 0)" />
<add name="int16" value="edmmapping number(4, 0)" />
<add name="int32" value="edmmapping number(9, 0)" />
<add name="int64" value="edmmapping number(18, 0)" />
</settings>
</oracle.dataaccess.client>
5. Create a data model from test_table again.
The new model should be using your custom type mapping.
Your CSDL section in Model1.edmx should show:
<EntityType Name="TEST_TABLE">
<Key>
<PropertyRef Name="C1" />
</Key>
<Property Name="C1" Type="Int16" Nullable="false" />
<Property Name="C2" Type="Boolean" />
<Property Name="C3" Type="Byte" />
<Property Name="C4" Type="Int32" />
<Property Name="C5" Type="Int64" />
<Property Name="C6" Type="Decimal" Precision="19" Scale="0" />
</EntityType>
If it does not work for you, you may want to check the version of your Oracle.DataAccess.dll in the GAC.
gacutil /l Oracle.DataAccess
Or change the timestamp of app.config.
touch.exe app.config -
Oracle.DataAccess.Client.OracleException: The provider is not compatible
I am getting an error, and I don't understand why I'm getting it.
Error:
Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client
Environment:
ODP.NET, 10.2.0.2 (ODTwithODAC10202.exe install)
Oracle 9i database
Windows 2000, .NET 1.x framework
Before ODP.NET, Oracle 9.2 client
Server does not have Visual Studio installed
Just installed ODP.NET today; any time I attempt to access OracleConnection, I get the error above. I am a newbie to server installations; if something is obvious to you, it might not be obvious to me, so feel free to point out even the most basic things.
I did install ODP.NET (same version) on my own PC several months ago, running over the same database, and everything seems to be working fine...
Message was edited by:
user531571Yeah; apparently, the Oracle install on that server was known (by everyone but me, from the sounds of it) to be exceptionally fragile. Installing ODP.NET brought down all Oracle connections. Uninstalling ODP.NET broke (actually, shattered might be closer to the truth) the Oracle instance on that box. Our solution? Start from scratch with a new server. Another piece of information which would have been nice to know is that they were looking for an excuse to get rid of this server; I wouldn't have been running around like a madman trying to fix it (and stressing all the while).
So, the problem has been solved, but not in any kind of normal fashion. -
Oracle.DataAccess.Client.OracleDataAdapter.Update not working
Hi
I am using the Oracle.DataAccess.Client.OracleDataAdapter from Oracle.DataAccess runtime version v4.0.30319. I set the SelectCommand and retrieve data from Oracle without any problems using the adapter to fill a datatable. I then use the DataTable.Clear method to remove all rows and fill it again from a different source using a different adapter. I use the Oracle.DataAccess.Client.OracleCommandBuilder to create the Insert and Update commands and finally I call the update command of the using the original adapter in order to update the Oracle database but nothing is updated.
I examine the table row count at each stage and also display the table using a DataGridView on a form and all appears to be fine. No exception is thrown so I am stumped.
I would be grateful for any suggestions as to what I am doing wrong.
My environment is VS2010 Express
Edited by: user1947494 on 04-Feb-2011 05:46Hi,
Pretty tough without seeing any code. I really do not believe it has anything to do with the DataAdapter. What changed the specific row/rows after the second fill?
But, as a guess, take a look at the DataTable - Rows - RowState. Run the below(or some variant) method just prior to your update.
r,
dennis
public static DataTable GetDataTableChanges_Modified(DataSet dataSet, string dataTableName)
if (dataSet.Tables[dataTableName].Rows.Count > 0)
DataTable dt = dataSet.Tables[dataTableName].Clone(); ;
int c = 0;
foreach (DataRow r in dataSet.Tables[dataTableName].Rows)
DataRowState state = r.RowState;
switch (state)
case DataRowState.Modified:
DataRow anewrow_dr = dt.NewRow();
anewrow_dr.ItemArray = r.ItemArray;
dt.Rows.Add(anewrow_dr);
c = c + 1;
break;
default:
break;
if (c > 0)
return dt;
else
return null;
else
return null;
}
Maybe you are looking for
-
Can't remember iCloud password and don't have access to that email how do I reset it?
I have just got a iPhone 5 and I'm trying to transfere all iTunes and apps from my iPad to my new phone. I have managed to update all onto iCloud but I can't remember my iCloud password and don't have access to the email I used to open it, which mean
-
Cannot see sync messages in backend SXI_MONITOR
Hi We have a problem with some sync message ScenarioX -> PI -> Backend sometimes taking 2-3 minutes executing. I have cheked performance of PI pipeline steps, and it is the CALL_ADAPTER which is timeconsuming. I have run and debugged the proxy code i
-
Twice Bitten...
Can someone explain to me why following the recommendations causes problems? It may be a 3.0 vs 2.2.1 issue. I'm throwing that out just as food for thought. But, I think I've been bitten by this on both 2.2.1 and 3.0. For memory managment, anything y
-
Additional Data in Contract creation
Hi, I had added some fields in additional data B. Earlier in additional data B all fields were visible, but after adding new fields (3 rows have been added) then the last three rows in additional data B have become invisible. In the Additional data
-
Why doesnt my videos work correctly
when i play a video on my itunes 7 i get a little control box that appears which has puase and play and all that kind of stuff which is fine but when it dissapears thte whole video change to a load of different shades of yellow and i cant see the vid