我有以下配置从文件/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.ora
和sqlnet.ora
文件。但是oracle
用户配置正确(环境变量),因此它可以连接成功。尝试执行env
并过滤ORACLE_HOME
、ORACLE_SID
、TNS_ADMIN
和PATH
环境变量的输出。比较它们并对齐root
用户
只是好奇-为什么在你的所有配置文件(如listener.ora
,tnsnames.ora
,odbc.ini
等)显示的内容使用两个星号"**"
?此外,使用root
帐户除了管理以外的任何目的都不是一个好主意。