2017-04-12 102 views
0

执行查询时无效RowSetHandle我创建了一个小的64位应用程序,我想在一个Oracle数据库执行一个简单的查询德尔福:行00025:在Oracle数据库

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

我使用:

  • 的Windows 10
  • Oracle数据库11g的客户端(64)
  • 德尔福10.1.2柏林
  • TADOQuery与连接字符串:

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

执行查询时出现错误:

ROW-00025: Invalid RowSetHandle

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

+0

您好我可能会问,为什么你不使用dbExpress或FireDAC?这些是最近连接到oracle的首选方法。 – sandman

+0

您可以使用sqlplus通过windows cmd更快地进行调试。尝试连接和基本的SQL像SELECT * FROM表 – Henrikki

回答

2

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

我们需要将CursorLocationADOQueryclUseServer设置为clUseClient。有了这个变化我们的查询工作。我想我们的oracle服务器有一些问题。

-2

你可以用这种方法试试,

选择场1,从表中字段2字段1哪里=“某某”和ROWNUM = 1;