VBA宏上的运行时错误-2147467259(80004005)

时间:2016-04-01 21:52:35

标签: vba excel-vba excel

首先,我确实查看了其他线程,所有指定的答案都没有帮助,因为我只是为特定的SQL执行而得到此错误。每当我尝试使用select * from dual运行SQL时,我收到以下错误消息。

enter image description here

以下是我的VBA代码

multiprocessing

1 个答案:

答案 0 :(得分:-2)

我在这里提出解决方案,这对我有用。在其他类似的帖子中它更多的是连接问题,但在我的场景中,它是我试图访问的表中的一列。在我的表中,我有一个列有timeStamp的列,并且该列导致了上面的错误,当我删除或使用该列的格式时,它无例外地工作。我想知道这个错误是否会更加解释,因为我花时间尝试其他东西而不是修复我的SQL。

解决方案:

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
    StrCon = "Driver={Microsoft ODBC for Oracle}; " & _
            "CONNECTSTRING=(DESCRIPTION=" & _
            "(ADDRESS=(PROTOCOL=TCP)" & _
            "(HOST=dhotname)(PORT=1521))" & _
            "(CONNECT_DATA=(SERVICE_NAME=APSQ))); uid=username; pwd=password;"
cn.Open (StrCon)
vSQL = "select request_id,user_name from request" 
rs.Open vSQL, cn

现在,如果你看一下上面的例子,我已经指定了确切的列名,这里的问题是REC_DT列,它有时间值。您可以转换该值或删除列,对我来说,该值不是必需的,因此只需从我的SQL中删除它就可以了。

enter image description here