访问错误创建链接的 Oracle 表

Posted

技术标签:

【中文标题】访问错误创建链接的 Oracle 表【英文标题】:Access error creating linked Oracle table 【发布时间】:2011-09-30 14:48:33 【问题描述】:

我尝试创建一个指向 Oracle 的链接表。为了简单起见,我从一个运行良好的手动创建的链接表中“窃取”了连接字符串。代码在 Append 中中断,如下所示。有什么线索吗?谢谢!

Sub CreaOra()
    Dim db As DAO.Database
    Dim td As DAO.TableDef
    Dim strConn As String
    Set db = CurrentDb
    'connection string copied from a working linked table !'
    strConn = "ODBC;DRIVER=Oracle in OraClient10g_home1;SERVER=ORAJJJ0;UID=xxx;PWD=yyy;DBQ=ORAWOD0;"
    Set td = db.CreateTableDef(Name:="test", SourceTableName:="ORAJJJC01.TBL_MYTBL", Connect:=strConn)
    'next row -> error 3264 No field defined--cannot append TableDef or Index
    db.TableDefs.Append td

    Set td = Nothing
    Set db = Nothing
End Sub

【问题讨论】:

【参考方案1】:

attributes 参数不能为空。你需要传递0或dbAttachSavePWD

  Set td = db.CreateTableDef(Name:="test", Attributes:=0,  SourceTableName:="ORAJJJC01.TBL_MYTBL", Connect:=strConn)

如果您不想明确将其设置为 0,也可以这样做

   Set td = db.CreateTableDef("test")
   td.SourceTableName:="ORAJJJC01.TBL_MYTBL"
   td.Connect:=strConn

注意:如果您查看监视窗口中的 td,可以观察到,如果您不传递属性值,则 Connect 和 SourceTableName 会设置为空,但在您传递时会保留。

【讨论】:

非常感谢,我会看看那个星期一早上(现在是卢森堡晚上 9 点)。

以上是关于访问错误创建链接的 Oracle 表的主要内容,如果未能解决你的问题,请参考以下文章

外部表语法错误 KUP-01005 Oracle

无法创建链接服务器 "xxx" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例。 (Microsoft SQL Server,错误: 7

Oracle错误:动态执行表不可访问,本会话自动统计被禁止,关闭自动统计之后的问题

访问链接到 SQL:为新创建的记录显示错误的数据

批量Excel数据导入Oracle数据库 导入excel错误:外部表不是预期的格式 解决方案

Oracle 过程不是按函数分组的错误 00979