我在 Access 中通过 ODBC Access Oracle 数据库时遇到问题,希望有人提供一些建议。我花了相当长的时间试图找到解决方案,但没有找到任何有用的结果。
我在 ODBC 中设置了一个连接来 Access Oracle 9 数据库。我可以使用 ODBC 管理员的“测试”选项并收到“测试成功”消息。我还可以使用 SQL*PLUS 连接到数据库。但是,当我尝试在 Access 2007 中创建新的链接表并使用 ODBC 选项时,在尝试连接时出现以下错误:
ODBC--调用失败。
[Oracle][ODBC][Ora]ORA-12154:TNS:无法解析服务名称
(#12154)[Microsoft][ODBC Driver Manager]驱动程序的 SQLSetConnectAttr 失败 IM006 0 [Microsoft][ODBC Driver Manager]驱动程序的 SQLSetConnectAttr 失败 (#0)
我知道 TNS 查找正在工作,因为 ODBC 管理工具与 tnsping 一样工作。问题是,为什么在 Access 之外可以工作,而 Access 却做不到?
编辑(2012-02-22 15:05):刚刚在另一台电脑上尝试,但发生了同样的事情,尽管另一个用户登录并且连接对他们有效,所以它似乎链接到我的 WinXP 配置文件。这有帮助吗?
如有任何建议,我们将不胜感激。
BBz
最佳答案
我想我已经解决了这个问题,但需要一些挖掘。使用 Sysinternals 的进程监视器,我发现 Access 在我的配置文件的“我的文档”文件夹中找到了一个 sqlnet.ora 文件,并且优先使用该文件而不是全局 tnsnames.ora 文件。
我们之前禁用了 sqlnet.ora(在 Oracle 文件夹中重命名了该文件),但 Access 显然会检查其他位置是否有该文件。我已重命名该文件,现在可以按预期通过 ODBC Access 数据库。
您可以学到有趣的东西!
希望有一天有人会发现这很有用。
感谢您的阅读 BBz
关于oracle - 无法使用 MS Access 2007 Access ODBC DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9396750/