代码之家  ›  专栏  ›  技术社区  ›  Andrea Bertani

在Access 2007中链接ODBC表

  •  1
  • Andrea Bertani  · 技术社区  · 17 年前

    Set HRSWsp = CreateWorkspace("CONNODBC", "", "", dbUseODBC)
    Set HRSConn = HRSWsp.OpenConnection("HRSCONN", dbDriverPrompt, , "ODBC;")
    DoCmd.TransferDatabase acLink, "Database ODBC", HRSConn.Connect, acTable, "SCHEMA.TABLE", "TABLE", False, True
    

    有人能告诉我如何修改此代码以满足Access 2007的要求吗?

    2 回复  |  直到 17 年前
        1
  •  3
  •   Andrea Bertani    17 年前

    我发现我可以用一种非常简单的方法解决我的问题,方法是删除前两条语句,然后用这种方法修改第三条语句:

    DoCmd.TransferDatabase acLink, "ODBC Database", "ODBC;DRIVER=Microsoft ODBC for Oracle;SERVER=myserver;UID=myuser;PWD=mypassword", acTable, "SCHEMA.TABLE", "TABLE", False, True
    

        2
  •  -2
  •   Patrick Cuff    17 年前

    试试这个:

    Dim tbl As New ADOX.Table
    Dim cat As New ADOX.Catalog
    
    cat.ActiveConnection = _
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[x:\your_access_db.mdb];Jet OLEDB:Engine Type=4"
    
    tbl.NAME = "[Access_table_name]"
    
    Set tbl.ParentCatalog = cat
    
    tbl.Properties("Jet OLEDB:Create Link") = True
    tbl.Properties("Jet OLEDB:Link Provider String") = "ODBC;Driver={Microsoft ODBC For Oracle};Server=OracleServerName;Uid=[user];Pwd=[password];"
    tbl.Properties("Jet OLEDB:Cache Link Name/Password") = True
    tbl.Properties("Jet OLEDB:Remote Table Name") = "[Oracle_Schema].[Table]"
    
    cat.Tables.Append tbl
    cat.ActiveConnection.Close
    

    替换括号中的文本( []