2010-03-03 90 views
0

我正在将Access 2003迁移到2007年。Oracle中有很多链接表。我创建一个指向Oracle实例的ODBC指向,然后在Access中,我通过ODBC链接所有表。我使用此代码登录,所以“Oracle ODBC驱动程序连接”对话框不会弹出询问密码:登录Access 2007与来自Oracle的ODBC链接表

strConnect = "ODBC;DATABASE=" & strFCPD & ";DSN=PBRIS;UID=xxxxx;PWD=xxxxx" 
    Dim wsp As Workspace 
    Set wsp = DBEngine.CreateWorkspace("xxx", "xxx", "xxx", dbUseODBC) 
    Set dbs = OpenDatabase("", False, True, strConnect) ' connect via regular ODBC 
    dbs.Close 

它工作正常,在2003年而不是2007年有什么错在这里的?我该怎么办?

+0

您在A2007中遇到什么错误? – 2010-03-04 19:15:42

回答

0

Access 2007使用与Access 2003不同的ODBC驱动程序吗?如果是这样,您需要创建一个使用Access 2007驱动程序的新DSN。它看起来像现有的DSN被命名为“PBRIS”。进入ODBC管理器并使用管理员工具的“系统DSN”选项卡创建新的DSN,并指定Access 2007驱动程序而不是Access 2003驱动程序。你可能会想用不同的名称 - 可能是像“PBRIS2007”。您需要更改构建连接字符串的代码以指定新的数据源名称。

我希望这会有所帮助。

+0

ODBC驱动程序适用于Oracle,ODBC是Access不可知的。所以Access版本之间的ODBC驱动程序不会有区别。 – 2010-03-04 19:18:40