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
以避免混淆(。