标识符太长错误,其中Oracle表是34个字符Oracle ODBC ORA-00972:标识符太长

时间:2017-06-05 19:29:52

标签: oracle vba excel-vba adodb excel

我有以下SQL来反对Oracle ODBC:

SELECT t.INS_RQMT_PRODCT_NO, t.NEW_DEPT_NO 
FROM SUBMISSION_OBJECT_SEGMENTATION_REF t 
WHERE t.INS_RQMT_PRODUCT_NO IN (''6228506'')

在VBA中运行时收到以下错误:

enter image description here

我怀疑它来自SUBMISSION_OBJECT_SEGMENTATION_REF。但是,我有 no 控制此数据库\表名称组合的长度。

我已经在网上搜索了它,但没有找到任何运气。

SUBMISSION_OBJECT是数据库名称。 SEGMENTATION_REF是表名。

我也试过SUBMISSION_OBJECT.SEGMENTATION_REF,但没有运气。

SELECT t.INS_RQMT_PRODCT_NO, t.NEW_DEPT_NO 
FROM SUBMISSION_OBJECT.SEGMENTATION_REF t 
WHERE t.INS_RQMT_PRODUCT_NO IN (''6228506'')

产生

  

ORA-00907:缺少右括号

作为参考,调用的vba代码如下:

Function downloadsqltoexcel(conn As ADODB.Connection, sSQL As String, exceldestinationrangename As String, sqltablename As String, bDownload As Boolean, Optional ws As Worksheet) As Variant

Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset

With rsPubs

    .ActiveConnection = conn
    .CursorLocation = adUseClient
    .Open sSQL, conn, adOpenKeyset, adLockReadOnly, adCmdText
    '**** errors on above line ****

1 个答案:

答案 0 :(得分:2)

您不使用下划线将数据库名称与表名称分开。你使用句号:

    Users-
         26dfg678-
                 Name: jack
                 Job: Farmer

         43jkhjh4-
                 Name: bill
                 Job: ICT