如何使用 SQLPlus 成功连接到我的 Oracle 数据库
How can I connect successfully to my Oracle Database using SQLPlus
我一直在尝试使用 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)
如何解决此 "could not resolve the connect identifier" 错误并打开与我的 Oracle 数据库的连接?
如果您的 tnsnames.ora 文件中有该条目,则无需再次提及服务器名称和端口。
这就足够了 -
sqlplus USERNAME@DBNAME.WORLD
(如果你想让它提示输入密码)
或者你可以按照 OldProgrammer 在评论中所说的那样做,如果可以使用纯文本形式的密码。
虽然其他人关于您应该如何连接是正确的:
sqlplus USERNAME@DBNAME.WORLD
也可以选择在命令行上使用密码,您的 tnsnames.ora
文件也有问题,这将导致您仍然得到 ORA-12154: TNS:could not resolve the connect identifier specified
.
您的 connect_data
行没有缩进,which is invalidating the whole file。无论如何,缩进有助于理解文件,但在这里至关重要:
Any keyword in a configuration file that begins a parameter that includes one or more keyword-value pairs must be in the far left column of a line. If it is indented by one or more spaces, then it is interpreted as a continuation of the previous line.
因此请确保与别名相关的行都在其下方缩进,只有别名在行首开始。
在主机 key/value 对之后还有一个额外的右括号,即使文件缩进正确,这也会导致该错误。
DBNAME.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = server.domain.com)(PORT = 4075))
)
(CONNECT_DATA =
(SID = DBNAME)
(SERVER = DEDICATED)
)
)
我一直在尝试使用 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)
如何解决此 "could not resolve the connect identifier" 错误并打开与我的 Oracle 数据库的连接?
如果您的 tnsnames.ora 文件中有该条目,则无需再次提及服务器名称和端口。
这就足够了 -
sqlplus USERNAME@DBNAME.WORLD
(如果你想让它提示输入密码)
或者你可以按照 OldProgrammer 在评论中所说的那样做,如果可以使用纯文本形式的密码。
虽然其他人关于您应该如何连接是正确的:
sqlplus USERNAME@DBNAME.WORLD
也可以选择在命令行上使用密码,您的 tnsnames.ora
文件也有问题,这将导致您仍然得到 ORA-12154: TNS:could not resolve the connect identifier specified
.
您的 connect_data
行没有缩进,which is invalidating the whole file。无论如何,缩进有助于理解文件,但在这里至关重要:
Any keyword in a configuration file that begins a parameter that includes one or more keyword-value pairs must be in the far left column of a line. If it is indented by one or more spaces, then it is interpreted as a continuation of the previous line.
因此请确保与别名相关的行都在其下方缩进,只有别名在行首开始。
在主机 key/value 对之后还有一个额外的右括号,即使文件缩进正确,这也会导致该错误。
DBNAME.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = server.domain.com)(PORT = 4075))
)
(CONNECT_DATA =
(SID = DBNAME)
(SERVER = DEDICATED)
)
)