[ISQL]ERROR: Could not SQLDriverConnect in Oracle database



我有以下配置从文件/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora

**LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ol7-19.localdomain)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ODBC_CONNECTION_ORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ol7-19.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ODBC_CONNECTION_ORCL)
)
)**

in file/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/tnsnames.ora

**ODBC_CONNECTION_ORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =ol7-19.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = ODBC_CONNECTION_ORCL)
)
)**

/etc/odbc.ini

**[ODBC_CONNECTION_ORCL]
Description = ODBC CONNECTION CREATED FOR BACKUP DATABASE
Driver      = /u01/app/oracle/product/19.0.0/dbhome_1/lib/libsqora.so.19.1
ServerName  = //192.168.103.145:1521/ORCL
Database = ORCL
UserID = SYSTEM
Password = Test123$**

/etc/odbbcst .ini文件

**[ODBC_CONNECTION_ORCL]
Description = ODBC CONNECTION CREATED FOR BACKUP DATABASE
Driver      = /u01/app/oracle/product/19.0.0/dbhome_1/lib/libsqora.so.19.1
ServerName  = //192.168.103.145:1521/ORCL
Database = ORCL
UserID = SYSTEM
Password = Test123$**

但我仍然得到以下错误,而试图从root用户连接,但通过oracle用户连接成功..

**isql -k -v Driver={ODBC_CONNECTION_ORCL};DSN=ODBC_CONNECTION_ORCL;Uid=SYSTEM;Pwd=Test123$;**
**[08004][unixODBC][Oracle][ODBC][Ora]ORA-12154: TNS:could not resolve the connect identifier specified [ISQL]ERROR: Could not SQLDriverConnect**

检查环境变量的差异,可能您的root用户找不到tnsnames.orasqlnet.ora文件。但是oracle用户配置正确(环境变量),因此它可以连接成功。尝试执行env并过滤ORACLE_HOMEORACLE_SIDTNS_ADMINPATH环境变量的输出。比较它们并对齐root用户

只是好奇-为什么在你的所有配置文件(如listener.ora,tnsnames.ora,odbc.ini等)显示的内容使用两个星号"**"?此外,使用root帐户除了管理以外的任何目的都不是一个好主意。

最新更新