执行批量插入时的 System.AccessViaolation (Oracle.DataAccess)

发布于 2024-11-18 23:02:23 字数 938 浏览 9 评论 0原文

我面临着有关 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

难理解 2024-11-25 23:02:23

我自己发现了这个问题。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文