我的客户端计算机中有多个 tnsnames.ora 文件.如何在环境变量中选择一个正确的文件?



oracle数据库是由某人安装的,我的机器中有大约6个tns.ora文件,每个文件都在单独的路径中。

在客户端 1、客户端 2、客户端

3、客户端 5 的网络文件夹中找到 4 个文件(2 个在网络内部管理中(,所有文件都在 C:\App\Oracle\Product 目录下。

通过cmd,powershell和python使用数据库时遇到问题,并出现相同的错误:ORA-12154:TNS:无法解析指定的连接标识符。

我们如何在任何地方配置正确的文件?

你已经得到了该怎么做的提示。这是一个更详细的答案;希望它会有所帮助。

基本上,每个Oracle软件产品(我使用过(都有自己的TNSNAMES.ORA文件。如果希望能够连接到新数据库,则必须将其输入到每个TNSNAMES.ORA文件中。"6 个文件"是指"6 次编辑"(或"1 次编辑 + 5 份副本"(,这意味着有 6 个完全相同的文件。

为了避免这种情况,请使用选项,该选项将允许您仅保留和维护一个TNSNAMES.ORA文件。为了做到这一点,我建议你

  • 创建一个新目录(例如 - 在 MS Windows 上 - c:ora_library
  • (
  • 复制任何现有的 tnsnames.ora 文件。
    • 编辑其内容,使其包含要连接到的所有数据库
  • 然后创建tns_admin环境变量。同样,在MS Windows(7(上:
    • 开始 - 右键单击"计算机" - 属性
    • 高级系统设置
    • 高级选项卡 - 环境变量按钮
    • 对于系统变量,创建一个名称为 tns_admin 的新变量,其值为之前创建的目录:c:ora_library

如果在命令提示符下检查它,它看起来像这样:

C:>set tns_admin
tns_admin=C:ora_library

仅此而已;下一步是测试它。无论您尝试哪种Oracle软件,它都应该能够建立连接。

从现在开始,您必须进行的任何更改都应在c:ora_librarytnsnames.ora文件中完成;忽略任何其他文件(您甚至可以删除它们或重命名为 例如 tnsnames.old以避免混淆(。

最新更新