我一直在尝试使用SQLPlus在我的计算机和Oracle数据库之间建立连接。
我正在使用命令:
sqlplus USERNAME@server.domain.com:4075/DBNAME.WORLD
它一直在回归:
TNS:could not resolve the connect identifier specified
tnsnames.ora包含:
DBNAME.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = server.domain.com))(PORT = 4075))
)
(CONNECT_DATA =
(SID = DBNAME)
(SRVR = DEDICATED)
)
)
我正在使用我的雇主提供的sqlnet文件:
AUTOMATIC_IPC = OFF
TRACE_LEVEL_SERVER = OFF
TRACE_LEVEL_CLIENT = OFF
SQLNET.EXPIRE_TIME = 0
NAMES.DEFAULT_DOMAIN = world
NAME.DEFAULT_ZONE = world
SQLNET.CRYPTO_SEED = "ENCRYPTIONSEED"
SQLNET.ENCRYPTION_CLIENT = REJECTED
SQLNET.ENCRYPTION_TYPES_CLIENT = (DES40)
SQLNET.ENCRYPTION_SERVER = REJECTED
SQLNET.ENCRYPTION_TYPES_SERVER = (DES40)
SQLNET.CRYPTO_CHECKSUM_CLIENT = REJECTED
SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT = (MD5)
SQLNET.CRYPTO_CHECKSUM_SERVER = REJECTED
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (MD5)
NAMES.DIRECTORY_PATH = (TNSNAMES)
SQLNET.AUTHENTICATION_SERVICES = (BEQ,NONE)
如何解决此问题“无法解决连接标识符”错误并打开与我的oracle数据库的连接?
答案 0 :(得分:1)
如果您的tnsnames.ora文件中有该条目,则不必再次提及服务器名称和端口。
这就足够了 -
sqlplus USERNAME@DBNAME.WORLD
(如果您希望它提示输入密码)
或者你可以像OldProgrammer在评论中所说的那样可以使用明文密码。
答案 1 :(得分:0)
虽然其他人对你应该如何连接是正确的:
sqlplus USERNAME@DBNAME.WORLD
也可以选择使用命令行中的密码,tnsnames.ora
文件中也存在问题,这会导致您仍然获得ORA-12154: TNS:could not resolve the connect identifier specified
。
connect_data
行没有缩进,which is invalidating the whole file。缩进无论如何都有助于理解文件,但在这里至关重要:
配置文件中任何包含一个或多个关键字 - 值对的参数的关键字必须位于一行的最左侧列中。如果它被一个或多个空格缩进,则它被解释为前一行的延续。
因此,请确保与别名相关的行都在其下方缩进,只有别名在行的开头处开始。
在主机键/值对之后还有一个额外的右括号,即使文件正确缩进也会导致错误。
DBNAME.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = server.domain.com)(PORT = 4075))
)
(CONNECT_DATA =
(SID = DBNAME)
(SERVER = DEDICATED)
)
)