为什么我在使用 DBExpress 的 Oracle 10g 上收到 255 条记录插入限制?

发布于 2024-07-21 04:47:33 字数 284 浏览 10 评论 0 原文

在正常的 SQL 处理过程中,我遇到了困难

当从远程客户端使用 DBEXPRESS 连接到 Oracle 10g 时, - 使用标准 dbxpora.dll + oci.dll

在事务中,恰好插入 255 条记录后,连接挂起 30 秒秒并返回错误:

ORA-03114(好像失去了连接...)

在事务中向任何表中插入 255 条记录时会发生这种情况。 (当在数据库盒上本地运行时,一切正常)

我缺少什么吗?

I am hitting an brick wall during normal SQL processing

When connected to Oracle 10g from a remote client w/DBEXPRESS, - using the standard dbxpora.dll + oci.dll

When in a transaction, after exactly 255 record insertions, the connection hangs for 30 seconds and returns the error:

ORA-03114 (as if it lost the connection...)

This happens when inserting 255 records into any table while in a transaction. (when run locally on the db box everything works fine)

Is there something I am missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

暖风昔人 2024-07-28 04:47:33

嗯,我不太了解 Oracle 数据库,但我知道 255 是一个神奇的数字。 它是单个字节可以表达的最大值。 可能有一些声明为字节的东西正在计算您的记录,而您正在溢出它。 尝试在打开范围检查和溢出检查的情况下重建整个项目,并查看当您尝试执行此操作时是否会在某处引发异常。 如果它实际上在您正在编译的代码中,这应该有助于追踪它。 如果它在其中一个图书馆中,那将无济于事。

Well, I don't know Oracle databases specifically, but I do know that 255 is a magic number. It's the maximum value you can express in a single byte. There's probably something declared as a Byte that's counting your records, and you're overflowing it. Try rebuilding your entire project with range checking and overflow checking turned on, and see if it raises an exception somewhere when you try to do this. That should help track it down, if it's actually in code you're compiling. If it's in one of the libraries, that won't help.

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