在尝试使用定义连接而不使用 TNS 的连接字符串进行连接时,我收到 ORA-12154(TNS:无法解析指定的连接标识符)。
只要代码在没有设置 TNS 的机器上运行,一切正常。一旦代码在设置了 TNS 的机器上运行,我就会抛出错误。
正如我从开发人员指南(链接)中获取的那样,使用格式正确的连接字符串实例化连接应该将ConnectionString 属性设置为提供的连接字符串。解析 ConnectionString 属性,如果它包含无效的连接字符串属性或属性值,则会引发异常。
然而,在我的情况下,似乎客户端计算机上设置的 TNS 正在覆盖连接字符串,否则它工作得很好,并且正在 tnsnames.ora 中寻找连接/别名。
到目前为止,我不知道如何说服机器忽略 TNS(设置),如果在客户端机器上找到并使用提供的连接字符串。