I have a Tableau (reporting) server on Windows 10 that internally uses PostgresDB. Besides I have a PostgresDB, where my data is located, so reports are aggregated using this data.
What should our end-user experience? - He or she opens in a web browser a report by url and see the data.
For some reason from time to time our end-users face with the problem:
could not receive data from server: Software caused connection abort
(0x00002745/10053) Unable to connect to the server "server_name".
Check that the server is running and that you have access privileges
to the requested database.
This problem arises with different reports and in different time. Moreover, when I do not fix it for a long time, this report may start to work again.
There is no firewall or antivirus on Windows where Tableau server is, but there is a VPN.
What has helped?
Pgbouncer has solved it problem partially. By partially I mean that during 2 weeks of exploitation this error has only once occurred instead of 3 times per day by using pure Postgres.
Restart of Tableau server solves this problem as well.
Accidental loose of Internet connection on Tableau server also may help with this problem.
What have I also checked?
1) When everything is fine, in Pgbouncer logs I can see that queries are loading when I interact with a report, otherwise (when there is this error) no logs are recorded. So Tableau Postgres can't connect to Postgres with data for some reasons.
2) When I connect manually to PostgresDB from the Tableau Postgres, then everything is fine and all queries were executed, while end-clients face with the problem interacting via web browser.
3) When I type in CMD in Tableau Server (windows): netstat -nao | find PostgresDB:5432, in normal case I see many TCP connections with different PIDs except one PID which is executed from 2 different ports on Tableau Server, however all of them are tabprotosrv.exe; in case when it fails I see only one PID which is executed from 2 different ports on Tableau Server.
So I have 2 main questions
1. How to solve it normally?
2. Or what should I check else?
Related
We have to connect to 2 schemas on the same instance.
When I set up the server connection the first time using this server syntax.
PARIEL=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SESKOVLGDBP23.mycompany.net)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=PARIEL)))
I am asked for the credentials.
When I come to create a different connection to the same instance, but using different credentials...it sees that the server is the same, and just automatically logs me in with the old credentials.
Surely you can have 2 connections to the same instance using 2 different credentials? We do this in Spotfire all the time, so assume it is possible.
Thanks
After rebooting my Windows Server 2016 Standard (SQL Server 2016) my SSIS process that runs this query:
select * from openquery(HRMPROD, 'SELECT QUERY HERE' )
started failing with this error:
I get the same error if I try to run the query in SSMS. I have the same linked server set up on my test instance and the query is successful when I run it there. I have compared the linked server create script on both instances and it is the same.
Any idea where I should look for what is causing the connection issue on the one server but not the other?
Thank you.
Saying the answer is on the Oracle side is just like pointing fingers across the way. Let's just fix the issue here.
There is a connection string that is used from SSIS, (which you also used in SSMS) The connection string contains three main components to connect and would result in the 12154 error if any of them were incorrect:
Host
Instance name (different than Instance on Sql Server, think database name)
port
The port most likely hasn't change, neither has the database name, but the host...No, hasn't changed, but the DNS server used to connect most likely has! I would ping the host and see what returns from the SSIS and your SSMS host that you're using. I would expect it to fail. Find out what IP address the host is using and ping that - see if it returns. I'm guessing that's the change that needs to be updated or your Network folks need to fix a DNS configuration/server issue.
Hope this helps!
Kellyn
Since you are getting a response from the TNS Listener, the problem lies on the Oracle side. See Architecture of Oracle Network Services for an overview of how the Oracle networking handles things. Keep in mind that based on the error message you've reached the TNS Listener, so you only need to check things between TNS and the Oracle database... In other words, your networking and SQL Server settings are fine or you wouldn't be able to get this error message.
I would agree with above that the issue might have to do with the network. I have come across that a few times, where we can set everything up, but a firewall is blocking communication between the two servers.
Open up powershell on the new server and run a tracert to the target to see the hops and identify if is connecting across the network.
If it is, then run a test-netconnect on the specific port, to see if the port is open from the firewalls.
Cheers!
We have an Oracle server set up and are using TCP with SSL as connection. This setup was made with the assistant wizard and we used the default settings pretty much everywhere (which also means that no tnsnames.ora or listener.ora exist). lsnrctl status shows that the correct ports are listening.
We are trying to connect to this database via DBeaver and SQuirrel SQL but cannot get it to work. We have set the vmargs for the programs to contain the certificate of the server (e.g. dbeaver.exe -vmargs -Djavax.net.ssl.trustStore=C:/...keystore.jks -Djavax.net.ssl.trustStorePassword=password -Djavax.net.ssl.trustStoreType=JKS), which works fine.
Connecting to the database with a concrete JDBC URL string (jdbc:oracle:thin:#(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=IP)(PORT=5500))(CONNECT_DATA=(SERVICE_NAME=testdb)))) does not work and times out after 60 seconds without a proper error (IO Error: Got minus one from a read call). We have tried pretty much everything and cannot get it to work.
The ports are correctly assigned, the database can successfully get accessed with the normal TCP protocol and port 1521.jdbc:oracle:thin:#(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=IP)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=testdb)))
Are we missing steps? There don't seem to be any firewall issues. The certificates seem to be working fine as well, but we cannot connect with any of the programs (or sqlplus via command line).
Anyone know what could be the problem? Thanks!
Can you check out the SSL blog or our OTN page for step-by-step instructions? If you are using TLSv1.2 then the JDK version and JDBC driver versions are very important.
In the end I got it to work. There are various sites online that show you how it's done. I used this one:
https://database.edorex.ch/blog/database-connection-with-a-certificate/
Getting the wallets set up, certificates set up and the user set up in the database were the most important steps. Additionally, I had to separate the server and client machines. The server is now on a VM and it works that way, I couldn't get it to work having both on the same machine.
I am trying to connect to a sybase ASE 15 enterprise edition database. Initially the connection is working fine but suddenly the page becomes unresponsive. There are no exceptions in the log nor is there any error displayed on the page. Also I have noticed that only the connection related to a particular database is unresponsive and remaining all are working just fine. However, if I restart the server, everything's working fine.
I have tried to increase the number of user connections and modified sytem configurations. But the result is all the same. Please help me out
I recommend you trace the session to get more log information:
1- initiate a connection to the database
2- use the stored procedure'sp_who' to identify the spid of the process of your connection on the server side
3- set up the trace file for this spid:
set tracefile 'log_file' for spid
(follow doc: http://www.sybase.com/files/White_Papers/ASE15-apptrace-070507-wp.pdf
OR
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00743.1502/html/queryprocessing/BABJDBHJ.htm )
4- analyze your log file
let us know if it helped.
I'm using SSH tunneling to connect from a Windows 7 machine to a remote Postgres database.
The tunnel works fine when I use pgAdmin to connect to the remote database. However, I haven't managed to set up an ODBC DSN to connect to the remote database.
I'm creating a System DSN with the same server address/username/password/port/ssl mode as pgAdmin but when I click "Test" I get: "Could not connect to server; No connection could be made because the target machine actively refused it."
Any ideas on where to start debugging? I've ruled out Windows Firewall and remote server configuration, since I can connect with the exact same information in pgAdmin.
Edit
The problem resolved itself after reinstalling Windows.
When debugging this the first thing to do is to start testing the PostgreSQL server with the psql command line utility. This avoids issues of drivers etc to see what is actually going on. Generally speaking my troubleshooting process is:
Can I ping the server?
Can I connect with psql?
When I test my connection via the control panel, does it work?
Now, assuming the problem is on #2, the first thing I would do is try disabling firewalls on both sides (they can be brought up and tuned after trying with both down). This rules out misbehaving firewalls and if it shows this to be a problem then you have the answer on where to troubleshoot.
In my experience Windows firewall can cause all manner of problems. I have even seen it block web pages halfway through the web page. I don't think you can rule out Windows Firewall based on the information you have provided.
If this happens again, the first things to do include disabling both any antivirus software and firewalls.
The other possibility would be a bad ODBC config (maybe port 5423 instead of 5432) or a badly installed DLL of some sort. The latter may be fixed (or not) using sfc /scannow or reinstalling the odbc driver, or other actions.