我希望能够通过直接指定连接参数而不是expdp
中的TNS名称来运行impdp
和tnsnames.ora
。这可能吗?
答案 0 :(得分:7)
您可以使用连接字符串而不是TNSName在命令行上指定所有内容。从您用来连接的TNS条目中删除空格,这是一个与SQLPLUS一起使用的示例......
以下是如何连接到Windows上的本地OracleXE安装:
sqlplus scott/tiger@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=xe)))
在* Nix上,您可能需要引用条目,以便不会错误地解释parens:
sqlplus 'scott/tiger@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=xe)))'
答案 1 :(得分:3)
您可以尝试EZCONNECT string:
expdp userid=user/pw@//host:port/service-name
客户端需要一个包含EZCONNECT的sqlnet.ora参数,例如:
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)