Ошибка доступа при создании связанной таблицы Oracle - PullRequest
1 голос
/ 30 сентября 2011

Я пытаюсь создать связанную таблицу, указывающую на Oracle.Для простоты я «украл» строку подключения из созданной вручную связанной таблицы, которая работает хорошо.Код разрывается в приложении, где указано ниже.Любая подсказка?Спасибо!

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 Ответ

3 голосов
/ 30 сентября 2011

Параметр attribute не должен быть пустым.Вам нужно передать 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 устанавливаются пустыми, если вы не передаете значение для атрибутов, но остаются, когда вы это делаете.

...