- Notifications
You must be signed in to change notification settings - Fork 16
Description
Hi,
Following the investigation done for #88 , I still have an issue with connection using TNSNAME.
When TNS alias is defined without DEFAULT_DOMAIN it is working fine.
Command used is like : utplsql run user/pswd@DB_TEST_DEV ...
Config details:
# sqlnet.ora Network Configuration File SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) # tnsnames.ora File DB_TEST_DEV= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = 10.1.1.1)(Port = 1550)) ) (CONNECT_DATA = (SID = DB_T_DEV) ) ) But when DEFAULT_DOMAIN is defined, the alias is not found by java API used to connect:
Command used is like : utplsql run user/pswd@DB_TEST_DEV ...
... Caused by: oracle.net.ns.NetException: could not resolve the connect identifier "db_test_dev" ... Config details:
# sqlnet.ora Network Configuration File SQLNET.AUTHENTICATION_SERVICES= (NTS) TRACE_LEVEL_CLIENT = OFF NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, ONAMES, HOSTNAME) LOG_DIRECTORY_CLIENT = c: NAMES.DEFAULT_DOMAIN = world SQLNET.EXPIRE_TIME = 0 NAME.DEFAULT_ZONE = world # tnsnames.ora File DB_TEST_DEV.WORLD= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = 10.1.1.1)(Port = 1550)) ) (CONNECT_DATA = (SID = DB_T_DEV) ) ) In such config, connect string should be user/pswd@DB_TEST_DEV and when client opens the connection the TNS alias is determined using connect string + DEFAULT_DOMAIN in sqlnet.ora.
It seems that the java API doesn't use sqlnet.ora (googled but I found nothing about that).
So I tried to give the full alias name in connect string but API thought I pass an IP because there is a dot in connect string (it is what I guess)
Example:utplsql run user/pswd@DB_TEST_DEV.WORLD ...
... java.sql.SQLRecoverableException: IO Error: Invalid connection string format, a valid format is: "host:port:sid" ... (see #88 for full stack)
Any chance to have a look because config with DEFAULT_DOMAIN can't be changed ?
Thanks in advance.