无法使用MS Access 2007访问ODBC DB

时间:2012-02-22 14:31:23

标签: oracle ms-access odbc ms-access-2007

我在Access中通过ODBC访问Oracle数据库时遇到问题,希望有人有一些建议。我花了很多时间试图找到解决方案,但没有任何有用的东西出现。

我在ODBC中有一个访问Oracle 9数据库的连接设置。我可以在ODBC管理员上使用Test选项并收到Test Successful消息。我也可以使用SQL * PLUS连接到数据库。但是,当我尝试在Access 2007中创建一个新的链接表并使用ODBC选项时,我尝试连接时出现以下错误:

ODBC--Call failed.

[Oracle][ODBC][Ora]ORA-12154: TNS:could not resolve service name (#12154)[Microsoft][ODBC Driver Manager]Driver's SQLSetConnectAttr failed IM006 0 [Microsoft][ODBC Driver Manager]Driver's SQLSetConnectAttr failed (#0)

我知道TNS查找正在运行,因为ODBC管理工具和tnsping一样工作。问题是,为什么它在Access之外工作但Access无法做到?

编辑(2012-02-22 15:05):刚尝试在不同的PC上发生同样的事情,虽然另一个用户登录并且连接适用于他们,所以它似乎链接到我的WinXP配置文件。这对你有帮助吗?

非常感谢任何建议。

BBZ

1 个答案:

答案 0 :(得分:5)

我想我已经解决了这个问题,但需要进行一些挖掘。使用Sysinternals的Process Monitor,我发现Access在我的个人资料的“我的文档”文件夹中找到了一个sqlnet.ora文件,并且优先使用它来访问全局的tnsnames.ora文件。

我们之前已经禁用了sqlnet.ora(在Oracle文件夹中重命名了该文件),但Access显然会检查其他位置。我已重命名该文件,现在可以通过ODBC按预期访问数据库。

有趣的是你可以学到的东西!

希望有人在某一天发现这个有用。

感谢阅读 BBZ