Hi Su Ve
Check if the Firewall Port is Open.
Telnet to the server from cmd prompt.
We had a similar issue. Connection to Oracle db was fine, But we were getting same TNS error. Firewall Port opening solved the issue.
Thank you Hitesh for the reply.
Just to clarify: We dont have a separate Oracle client on Tableau Server 9.2. And reports are working fine when we provide full connection details but the we are getting error only when we are using tnsnames from Tableau server to connect to Oracle DB.
I have executed this command "telnet [server name]", I got error message "Connecting to [server name]...Could not open connection to the host, on port 23: Connect failed".
Then I have opened the port 23 from firewall by creating new rule in inbound rules.
When I tried the above command again, it shows the same error message again.
Do I need to do anything else or is it a wrong port number(23)?
tnsnames.ora and sqlnet.ora files are part of the native Oracle client. They serve no purpose unless you have Oracle client installed. It's the Oracle client that looks at your TNS_ADMIN variable and understands the content of tnsnames.ora and sqlnet.ora.
TNSPING it the program (part of Oracle client) to use to test basic Oracle client connectivity. From a command prompt (logged in as the user that Tableau Server runs under) on your server, you would enter:
Ignore the "TNS-03505: Failed to resolve name" in the output. The path displayed is the location that the Oracle client is looking for tnsnames.ora and sqlnet.ora in. If that's not the path you set TNS_ADMIN then fix that.
Now test connectivity to your Oracle database:
If success, then you are good to go. The TNSPING output shows the values it found in the tnsanmes.ora for the connect string you specified. The information includes the port that Oracle is trying to connect on (from the tnsanems.ora entry).
If the tnsping fails, but takes several seconds to do so, that often means it timed out waiting for a response (this could indicate firewall blocking).
The telnet command should include the port number too (get the host name and .
telnet [db-host-name] [db-port-num]