我在这里遇到了一个关于 perl 和 DBI 模块的奇怪问题。有时我可以成功获取查询,但有时,当我添加一行与数据库访问或类似内容远程相关的代码时,我收到一条错误消息:
DBD::Oracle::st fetchrow_array failed: ERROR no statement execution (也许你需要先调用 execute) [for Statement "select * from (...)"] at script.pl 第 18 行。
我使用 sqlplus 验证我的选择命令在这里没有问题(当然,这就是为什么我说脚本有时可以工作!)
如果我在 perl 脚本中的 select 命令之后添加了一个分号,我会收到另一个错误消息:
DBD::Oracle::db 准备失败:ORA-00911:无效字符(DBD 错误:错误可能在 'select * from (...)<*>;' 中字符 970 处的 <*> 指示符附近)[for Statement" select * from (...);"] 在 script.pl 第 13 行。
谁能告诉我这里发生了什么?是因为 sql 命令太长(~900 个字符)吗?