小编Jam*_*ead的帖子

使用完整连接字符串和 EZCONNECT 绕过 tnsnames.ora 时出现“ORA-12560:TNS:协议适配器错误”

尝试使用任一连接字符串绕过 tnsnames.ora(完整连接字符串和 EZCONNECT)会在尝试连接到数据库时返回以下错误:

pyodbc.Error: ('HY00', '[HY00] [Oracle][ODBC][Ora]ORA-12560: TNS:protocol adapter error\n (12560) (SQLDriverConnect);[Oracle][ODBC][Ora]ORA -12560: TNS: 协议适配器错误\n (12560)')

我尝试使用https://www.connectionstrings.com/oracle/ 中的以下连接字符串:

Driver={Oracle in OraClient11g_home1}; Data Source=uid/pwd@//host:port/service_name;

Driver={Oracle in OraClient11g_home1};
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=host)(PORT=port))) 
                         (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=service_name)));
User Id=uid;Password=pwd;'
Run Code Online (Sandbox Code Playgroud)

我可以使用 sqlplus 和 EZCONNECT 连接到数据库:

PS: C:\>sqlplus uid/pwd@//host:port/service_name

SQL*PLUS: Release 11.2.0.1.0 Production on Thu Aug 30 11:56:22 2018

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production

SQL>
Run Code Online (Sandbox Code Playgroud)

我怀疑这是驱动程序问题,因为使用不同的驱动程序会返回不同的错误:

pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序 …

oracle odbc tnsnames pyodbc oracle11g

4
推荐指数
1
解决办法
5582
查看次数

标签 统计

odbc ×1

oracle ×1

oracle11g ×1

pyodbc ×1

tnsnames ×1