【发布时间】:2018-06-18 07:23:32
【问题描述】:
我明白了
运行时错误“-2147467259 (80004005)”:未指定的错误
当我使用以下代码时:
Set conn1 = CreateObject("ADODB.Connection")
conn1.Open strcon1
strquery3 = "SELECT * FROM TABLE_NAME"
Set rs3 = CreateObject("ADODB.Recordset")
Set rs3 = conn1.Execute(strquery3)
但是,当我在 SELECT 语句中使用较少的列时,代码可以工作:
Set conn1 = CreateObject("ADODB.Connection")
conn1.Open strcon1
strquery3 = "SELECT COLUMN1, COLUMN2 FROM TABLE_NAME"
Set rs3 = CreateObject("ADODB.Recordset")
Set rs3 = conn1.Execute(strquery3)
该表总共包含 17 列。有列数限制吗?如果没有,是否有任何理由无法获取记录集中的所有 17 列?
我正在连接到 Oracle 数据库。使用的驱动程序 - “Microsoft ODBC for Oracle”
【问题讨论】:
-
列数没有这个限制。由于您没有显示连接字符串:您连接的是什么数据库?顺便说一句:您可以删除第 3 行:
Connection.Execute创建一个Recordset-object。 -
我们需要知道数据源。另外,当您尝试一一检索时,您可以返回所有字段(列)吗?
-
感谢您的回复。我正在连接到 Oracle DB。
-
@L42,我尝试在 SELECT 语句中提及所有列名,而不是 SELECT *。它给了我同样的错误信息。
-
您是否有任何更改类型为
TIMESTAMP的字段?有一些关于这种数据类型与某些版本的 Oracle 驱动程序相结合的问题的讨论,例如这里:stackoverflow.com/questions/11671769/…