我尝试使用以下查询通过Delphi应用程序代码将多条记录插入到Oracle数据库中的单个表中:
将全部插入项目(f1,f2)值(v1,v2)插入项目(f1,f2)值(v3,v4)插入项目(f1,f2)值(v5,v6) SELECT * FROM DUAL
我将上面的查询语句添加到我的Delphi查询中,并运行qry.ExecSql。第一次执行得很好,我看到记录被添加到表中,但是当为下一次查询运行相同的代码时,我收到异常: ORA-03113: end-of-file on communication channel
可能的原因是什么?
发布于 2015-03-18 20:03:48
通常,ora-03113错误是报告的一系列错误中的最后一个。您可以调试代码并查看是否报告了其他错误吗?另外,您在连接和查询对象中使用了哪些组件?在Delphi中有许多不同的选项,因此答案可能是dbGo、dbExpress、FireDAC或第三方组件集。您可能希望使用SQLPlus或其他工具测试您的语句。如果是,请确保该工具使用的Oracle Home与您的Delphi组件使用的Oracle Home相同。有时,在较新的Oracle Server上使用较旧的Oracle客户端会导致3113错误,您可能需要检查版本。
发布于 2015-03-18 23:46:41
有关详细的异常日志,请查看"alert.log“文件
https://stackoverflow.com/questions/29118781
复制相似问题