David Satorres · Mar 2, 2021

Community edition & jdbc

Hi all,

I'm trying to access via JDBC my community installation but the connection is always rejected. The same code (python code) using the stand-alone version of Intersystems IRIS works fine.

Is the community edition limited in this case? I can't see it in the official documentation:

Product version: IRIS 2020.3
$ZV: IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2020.3 (Build 221U) Thu Oct 1 2020 11:29:35 EDT
0 323
Discussion (8)3
Log in or sign up to continue

The issue could be in libraries, are you working on macOS?

So, your documentation link here

You have to check that all the dependencies available, and LD_LIBRARY_PATH is defined correctly

Hi Dmitriy,

Correction: it's not ODBC by JDBC

Actually, when the container is running the error is different than when it's stopped, so I guess my python script really reaches the jdbc server but somehow is not accepted.

Container running:

java.sql.SQLException: java.sql.SQLException: [InterSystems IRIS JDBC] Communication link failure: Communication error:  Server closed communication device

Container stopped:

java.sql.SQLException: java.sql.SQLException: [InterSystems IRIS JDBC] Communication link failure: S’ha refusat la connexió (Connection refused)

Why you are using JDBC from Python, if there is pyodbc?

Are you doing it in the docker container, and is it separate to IRIS container?

Could you share all the components you use?

Hello David,

Can you double check that you have the port forwarding set up correctly when you start the container? This is the error you will get if you try to connect via JDBC to a port that was forwarded to something other than the instance's SuperServer port. The SuperServer port is 1972. For instance, if you start the container with:

docker run -p 51776:1972 -p 52776:52773

You should be able to connect using the connection string: "jdbc:IRIS://localhost:51776/USER/". In general, you should be able to connect via JDBC to the community edition containers.

Hi Sean,

Sorry for the delay. You were absolutely right, I wasn't forwarding port 1972 but 51773! I just added 1972 and call the JDBC using this port and now it works like a charm.


Have you checked the port you are using? Or try ODBC