gpt4 book ai didi

Oracle 数据库查询在第二次运行时抛出错误

转载 作者:行者123 更新时间:2023-12-02 22:13:54 25 4
gpt4 key购买 nike

我有一个 VBA 代码,我在其中调用 oracle 使用 ODBC 检索数据两次。第一次数据检索没问题。但第二次它说,

**RunTime Error '-2147467259 (80004005)'; Unspecified error**

我的代码如下,

Note: Same code works for connecting Teradata but failed when i use Oracle

'First Data retrieval
Query1 = "Select TableName from all_tables"
CmdSQLData.CommandText = Query1
CmdSQLData.CommandType = adcmdText
CmdSQLData.Timeout=0
set rs = CmdSQLData.Execute()
'Then code to store data ...
'This part gives proper result ...
rs.close()

'Second Data retrieval
Query2 = "Select * from db.Event"
CmdSQLData.CommandText = Query2
CmdSQLData.CommandType = adcmdText
CmdSQLData.Timeout=0
set rs = CmdSQLData.Execute() 'This line Gives Error - RunTime Error '-2147467259 (80004005)'; Unspecified error

Also i tried creating new command object as cmdSQLData1 but still same error

我可以知道为什么第二个查询会出现错误吗?我在oracle目录下测试过,查询没有问题。请告诉我

最佳答案

您不会在任何地方看到此记录,但重复使用具有不同 comamndText 的 Command 对象实际上是一种不好的做法。您没有说明您正在使用哪种连接,但例如,如果它是 ODBC,这将在内部向 Oracle 发送虚假的无效 SQL,以强制进行某种清理。因此,请在使用后丢弃 Command 对象并创建一个新对象。

当您使用不同的参数值重新执行相同的查询时,重用 Command 对象是一个好的做法,但这里的情况并非如此。

关于Oracle 数据库查询在第二次运行时抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11655114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com