执行批量插入时的 System.AccessViaolation (Oracle.DataAccess)
我面临着有关 winforms 应用程序的严重问题。我通过 oracle 批量插入 (ArrayBinding) 插入到表中。执行命令时
cmd.ExecuteNonQuery()
出现以下错误:
System.AccessViolationException 在 Oracle.DataAccess.Client.OpsErr.FreeCtx(IntPtr& opsErrCtx) 在Oracle.DataAccess.Client.OracleException.GetOpoErrCtx(IntPtr opsErrCtx,OpoSqlValCtx * pOpoSqlValCtx,IntPtr opsConCtx,字符串dataSrc,字符串过程) 在Oracle.DataAccess.Client.OracleException..ctor(IntPtr opsErrCtx,OpoSqlValCtx * pOpoSqlValCtx,IntPtr opsConCtx,字符串dataSrc,字符串过程) 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode、OracleConnection conn、IntPtr opsErrCtx、OpoSqlValCtx* pOpoSqlValCtx、对象 src、字符串过程) 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode、OracleConnection conn、字符串过程、IntPtr opsErrCtx、OpoSqlValCtx* pOpoSqlValCtx、对象 src) 在 Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
关于这个问题有什么想法吗?
MacX
I am facing a severe problem concerning an winforms application. I am inserting via oracle bulk insert (ArrayBinding) into a table. While executing the Command with
cmd.ExecuteNonQuery()
I get the following Error:
System.AccessViolationException
at Oracle.DataAccess.Client.OpsErr.FreeCtx(IntPtr& opsErrCtx)
at Oracle.DataAccess.Client.OracleException.GetOpoErrCtx(IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, IntPtr opsConCtx, String dataSrc, String procedure)
at Oracle.DataAccess.Client.OracleException..ctor(IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, IntPtr opsConCtx, String dataSrc, String procedure)
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()
Any ideas on this issue?
MacX
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我自己发现了这个问题。
Oracle.DataAccess.Client 似乎无法正确通知我,其中一个列值超出了我想要插入该值的数据库列的限制。
类似于在 varhchar2(2) 列中插入“你好我的朋友”。
但感谢您查看此内容。
found the issue myself.
The Oracle.DataAccess.Client seems not be able to correctly notify me, that on of the column values exceeds the limit of the database column i want to insert the value.
Something like inserting "hello my friend" in a varhchar2(2)-column.
But thanks for looking at this.