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.0
Vitor,
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.
Similar Messages
-
Oracle.DataAccess.Client.OracleException ORA-06502: PL/SQL
I have the following Simple PL/SQL function:
FUNCTION INSERTFBEXP (
p_expid INTEGER,
p_run_identifier VARCHAR2,
p_run_complete INTEGER,
p_run_completion_status VARCHAR2,
p_complete_errors INTEGER
RETURN INTEGER
IS
newid INTEGER;
concheck INTEGER;
BEGIN
concheck := 1;
newid := 1;
INSERT INTO test.exp
(ID, concheck, expid, run_identifier,run_complete, run_completion_status, complete_errors
VALUES (test.id_testexp.NEXTVAL, concheck, p_expid, p_run_identifier, p_run_complete, p_run_completion_status, p_complete_errors
) RETURNING ID INTO newid;
RETURN newid;
END;
Which I am calling from the following .Net procedure:
Public Function insertTestExp(ByVal expid As Int32, ByVal Run_Identifier As String, _
ByVal Run_Complete As Boolean, ByVal CompletionStatus As String, ByVal Complete_Errors As Boolean) As Integer
Dim id As Integer
With m_OraCmd
.CommandText = "USER.FBPROCESS.INSERTFBEXP"
.CommandType = CommandType.StoredProcedure
With .Parameters
.Clear()
.Add(New OracleParameter("p_expid", OracleDbType.Int32)).Value = expid
.Add(New OracleParameter("p_run_identifier", OracleDbType.Varchar2, 50)).Value = Run_Identifier
.Add(New OracleParameter("p_run_complete", OracleDbType.Int32)).Value = Convert.ToInt32(Run_Complete)
.Add(New OracleParameter("p_run_completion_status", OracleDbType.Varchar2, 50)).Value = CompletionStatus
.Add(New OracleParameter("p_complete_errors", OracleDbType.Int32)).Value = Convert.ToInt32(Complete_Errors)
.Add(New OracleParameter("newid", OracleDbType.Int32)).Direction = ParameterDirection.ReturnValue
End With
Try
.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Return CType(.Parameters(5).Value, Int32)
End With
End Function
When I attempt to run the .Net function I get the following error:
Oracle.DataAccess.Client.OracleException ORA-06502: PL/SQL
I have determined by trial and error that the problem is in passing the VARCHAR2 parameters. I do not have this problem with the Microsoft Oracle Provider. Can someone help me with what I'm missing? Thanks.Note that I have not tested your code... but, it looks like you are using bind by position (which is the default). In this mode the return value needs to be bound first since ODP.NET will generate code similar to this:
:ret_val := proc(:1, :2,...);That's where I would start anyway.
Hope that helps a bit,
Mark -
Oracle.DataAccess.Client.OracleException ORA-12154:
Hi Experts,
Please I need yours assistance.
I developed an automation tool in visual studio 2010 using c# and oracle framework Oracle.DataAccess.Client. However, the tool is working properly on my machine but when deployed the tool to a different machine that has .net 4.0 framework installed, and when I tried to run the tool I kept getting the following error message below:
"************** Exception Text **************
Oracle.DataAccess.Client.OracleException ORA-12154: TNS:could not resolve the connect identifier specified at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
at Oracle.DataAccess.Client.OracleConnection.Open()
at LogicalDateValidator.Form1.conn(String oradb)
at LogicalDateValidator.Form1.button3_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.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)"http://www.oracle.com/technetwork/topics/dotnet/odt-faq-085407.html#ORA-12154:_TNS:could_not_resolve_the
-
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]; -
We are getting an intermittent error that doesn't help much and I would like to read up on the error to figure out what to do to fix it. Do any of you know how or where to look up error numbers for this? The error we are getting is: Oracle.DataAccess.Client.OracleException Data provider internal error(-3000)
I have searched www.Oracle.com and done a Google search and the only hit I get is a similar error (error(-3001) for them) that has to do with connection pooling. They didn't get a solution to their post. There are no reference links that come back on my searches.
So, can you help?Hi,
-3000 means something bad happened internally in the provider. It's a catchall "you should never get here" error. As such, it's usually something the ODP team needs to fix, as opposed to something you can fix in your code.
My best suggestion is to make sure you're using the latest and greatest provider and see if it still occurs. If it still occurs on current versions, you'll probably want to open up a SR with support, enable tracing to generate a "mini dump" when the behavior occurs, and have the dump analyzed.
Cheers,
Greg -
Oracle.DataAccess.Client.OracleException occurs when try to run application
Hello,
I have an application Winforms in Visual Studio 2005 with Database Oracle 10g XE.
In my development machine are all ok.
When I put the application in client machine the exception is raised: Oracle.DataAccess.Client.OracleException.
The error occurs when the access to Oracle begin.
The client 10g XE is ok in client machine. SQL*Plus run ok into 10g XE, and work normally.
What is need to do?
Thanks by any help.We need to know the exception message to have a chance at helping you.
Thanks
Greg -
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.OracleException not compatible version
Hi,
i have installed the oracle developer tools for VS2005.NET. In my programms i put a reference to the Oracle.DataAccess.dll Version 2.102.2.20 in my Project. I can start and run this Programm on the same PC without problems.
If i copy the Programm-Exe and the Oracle.DataAccess.dll on an other PC and start this Programm there, i became a Error-Message:
"Unbehandelte Ausnahme: System.TypeInitializationException: Der Typeninitialisier
er für Oracle.DataAccess.Client.OracleConnection hat eine Ausnahme verursacht. -
--> Oracle.DataAccess.Client.OracleException The provider is not compatible with
the version of Oracle client bei Oracle.DataAccess.Client.OracleInit.Initial
ize()"
Is there anybody that can help me?
thanks,
CarstenYou need to run the installer to install ODP.NET on the target machine. Simply copying a few files is not good enough (at least not until we support xcopy instant client).
-
Oracle.DataAccess.Client.OracleException
Hi,
I am trying to cennect to our oracle database 8i using ODP.Net.
When I run my code I get the following Exception:
Oracle.DataAccess.Client.OracleException ?alc\7.0.3300.0__b03f5f7f11d50a3a\microsoft.visualc.dll at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, IntPtr opsSqlCtx, Object src, String procedure, String[] args) at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src, String[] args) at Oracle.DataAccess.Client.OracleConnection.Open() at WebApplication88.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\webapplication88\webform1.aspx.cs:line 30
I get said exception when I try to open the connection.
Here is my code:
try
OracleConnection conn;
conn = new OracleConnection();
conn.ConnectionString = "User Id=xxx;Password=yyy;Data Source=zzz";
conn.Open();
conn.Close();
catch(Exception ex)
Response.Write(ex.ToString());
All help greatly Appreciated,
yevyExact same thing happens for me, but no one here seems to want to help!
I'm wondering if their ODP.NET stuff even works at all! -
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 receivedTry posting this to the ODP.NET forum.
You might need to flush out the connection pool, but they can help you with that. -
Oracle.DataAccess.Client stored procedure ORA-01403
Hello,
Microsoft announced that System.Data.OracleClient is deprecated and will be no more supported so I try to use the driver Oracle.DataAccess.Client after having installed ODP.
It works fine except for stored procedures.
After calling a stored procedure that increases a value in a column I meet this error :
ORA-01403: no data found
ORA-06512: at "XXXXX.MY_FUNCTION", line 15
ORA-06512: at line 1
Oracle Data Provider for .NET
at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
The same function worked very well during several years with OracleClient !
Does any body has an idea ?
Best regards
AlanHello,
I had the solution by an other forum.
It's necessary to define the property BindByName at true.
The driver OracleClient did that by default not the driver DataAccess !
Best regards -
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 not found[SOLVED]
Hello,
I am trying to run a stored procedure using C# and I need to use the Oracle.DataAccess.Client but when i enter
"using Oracle.DataAccess.Client;" visual studio throws the error:
Error 1 The type or namespace name 'Oracle' could not be found (are you missing a using directive or an assembly reference?) P:\data\ActionItemLog\ActionItemLog\updateComment.aspx.cs 14 7 ActionItemLog
And I installed the newest ODTwithODP for .NET. I would really like some help on this subject and I will do my best to clarify even more if needed.
Thanks in advance,
Dylan
Message was edited by:
dkroyJust a stupid mistake on my part all I had to do is in visual studio add the Oracle.DataAccess.dll file to references. I hope this mistake saves some one a bit of time in the future.
-
Oracle.DataAccess.Client如何处理xmltype字段
c# vs2012 windows7 oracle11g服务端客户端字符集【SIMPLIFIED CHINESE_CHINA.US7ASCII】
原本是想解决 XMLTYPE字段里面中文乱码的问题的,使用datareader里面的中文全变成“?”,
现在想用Oracle.DataAccess.Client处理xmltype字段,网上找了方法,但是会报 ORA-06553:PLS-306 的错
using Oracle.DataAccess;
using Oracle.DataAccess.Types;
using Oracle.DataAccess.Client;
string conString = "Data Source =testascii;Persist Security Info=True;User ID=common;Password=common";
XmlDocument xmlDoc = new XmlDocument();
string strProperty = @"<root>钓鱼岛是中国的</root>";
xmlDoc.LoadXml(strProperty);
Oracle.DataAccess.Client.OracleConnection con = new Oracle.DataAccess.Client.OracleConnection(conString);
con.Open();
OracleXmlType cxml = new OracleXmlType(con,strProperty);
//OracleXmlType cxml = new OracleXmlType(con, xmlDoc);
Oracle.DataAccess.Client.OracleCommand cmd = new Oracle.DataAccess.Client.OracleCommand();
cmd.Connection = con;
cmd.CommandText = @"insert into d_test values(:nvar,SYS.XMLType(:xml))";
//Oracle.DataAccess.Client.OracleParameter p1 = new Oracle.DataAccess.Client.OracleParameter("nvar",OracleDbType.NVarchar2);
//Oracle.DataAccess.Client.OracleParameter p2 = new Oracle.DataAccess.Client.OracleParameter("xml", OracleDbType.XmlType);
//p1.Value = DateTime.Now.ToLongDateString();
//p2.Value = cxml;
cmd.Parameters.Add("nvar", OracleDbType.NVarchar2).Value = DateTime.Now.ToLongDateString();
cmd.Parameters.Add("xml", OracleDbType.XmlType).Value = cxml;
//cmd.Parameters.Add(p1);
//cmd.Parameters.Add(p2);
try
int count = cmd.ExecuteNonQuery();
if (count >= 1)
MessageBox.Show("ok");
else
MessageBox.Show("shit");
catch (System.Exception ex)
MessageBox.Show(ex.Message);
con.Close();
这种写法会报 ORA-06553:PLS-306: XMLTYPE..这个错误
这个如何解决呀US7ASCII
U.S. 7-bit ASCII
US
7
ASCII
ASCII字符集是不包括中文的, 你使用的 NVARCHAR是 NATIONAL CHARACTER SET 的CHAR类型 -
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.
Maybe you are looking for
-
What is the best way to assign time stamps to counter input data?
Compact DAQ NI 9411 Hi Everyone, I am creating a chart recorder for collecting various engine data. I need to plot engine speed, crank angle, and various analog data on an XY graph. I am using a counter and a mag pickup to continuously measure
-
Embed a media player in netbeans IDE
Hi guys! I'm pretty new to development in Java, right now I'm using netbeans as the IDE to development a P2P file sharing program for my school project. One of the module is to embed a media player that can playback the media files shared by the prog
-
Hi, i am working on CRM 2007 (web ui) Could anybody tell me how to track the responses from the business partner who responded positively to the survey in marketing, and I need to create separate target group for the business partners who responded p
-
while trying to install latest itunes version i get this message "Older version of Bonjour can not be removed" and the download gets interrupted and doesnt finish. Can someone help?????
-
FORMS 4.5: can't open file ...
with designer/2000 r2.1 i have created .fmb file in FROMS 5.0, but i cannot open .fmb file (FRM 10043) with FORMS 4.5 (developer 2000) null