我尝试创建一个指向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
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被设置为空,如果您不为属性传递值,但当您这样做时仍然保留。