Question

I want to be able to run expdp and impdp by directly specifying the connection parameters instead of a TNS name that resides in tnsnames.ora. Is this possible?

Was it helpful?

Solution

You may be able to specify it all on the command line with a Connection String instead of a TNSName. Remove the whitespace from your TNS entry you would have used to connect, here is an example that works with SQLPLUS...

Here is how to connect to a local OracleXE install on Windows:

sqlplus scott/tiger@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=xe)))

On *Nix you may need to quote the entry so the parens aren't interpreted incorrectly:

sqlplus 'scott/tiger@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=xe)))'

OTHER TIPS

You might try an EZCONNECT string:

expdp userid=user/pw@//host:port/service-name

You will need a sqlnet.ora parameter on the client side that includes EZCONNECT, e.g.:

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top