delphi:ROW-00025:在oracle db上执行查询时,RowSetHandle无效

时间:2017-04-12 07:04:08

标签: oracle delphi 64-bit ado oledbconnection

我创建了一个小型64位应用程序,我想执行一个简单的查询

select field1, field2 from table where field1 = 'xyz' order by 1

在oracle db上。

我正在使用:

  • Windows 10
  • Oracle Database 11g客户端(x64)
  • Delphi 10.1.2 Berlin
  • 带有连接字符串的TADOQuery:

    Provider=OraOLEDB.Oracle;Password=XYZ;User ID=XYZ;DataSource=XYZ;Persist Security Info=True
    

执行查询时,我收到错误:

  

ROW-00025:无效的RowSetHandle

我以前从未见过这样的错误。
你有什么想法?如果您需要更多信息,请在下面的评论中告诉我们。

2 个答案:

答案 0 :(得分:2)

感谢您的建议和意见。与此同时,我们找到了解决方案......

我们需要将CursorLocationADOQuery设置为clUseServerclUseClient。通过此更改我们的查询工作。我想我们的oracle服务器有一些问题。

答案 1 :(得分:-2)

你可以这样试试吗,

从表中选择field1,field2,其中field1 ='xyz'且rownum = 1;