oracle - 无法使用 MS Access 2007 Access ODBC DB

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

我在 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/

相关文章:

甲骨文 |从具有一对多关系的表中检索记录

vba - Access 2010 自定义功能区

ms-access - 编译或反编译 MS Access MDB 文件有什么作用?

mysql - SSIS:源有UNICODE数据;我正在使用 MySQL 64 位 ANSI ODBC 驱动程序

oracle - SAS 到 Oracle ODBC - 将 SAS 表传递到数据库

sql - Oracle何时/为什么将NaN添加到数据库表中的行

c - 为什么我的 PRO*C 程序的控制不进入 if 部分?

oracle - 是否可以使用 flyway 管理 oracle 数据库?

sql-server - 从 TADOConnection 对象确定 ODBC 数据库驱动程序?

c++ - Oracle 11gR1 或 R2 客户端上是否有设置可在 ODBC API 调用中将 SELECT COUNT(*) 返回的数据类型从 DOUBLE 更改为 LONG?