JDBC.NET icon indicating copy to clipboard operation
JDBC.NET copied to clipboard

Calls made to random port (1128, 1129)

Open talibnawaz opened this issue 1 year ago • 5 comments

Our Open Edge Progress database is behind a firewall and is accessible on port 10100. But regardless of giving the port number in the connection string, we have noticed that additional calls are being made to random ports, e.g. 1128 and 1129 in the screenshot below that are blocked by the firewall.

image

Here's my code:

var builder = new JdbcConnectionStringBuilder
{
    FetchSize = -1,
    DriverPath = "mydriver.jar",
    DriverClass = "com.ddtek.jdbc.openedge.OpenEdgeDriver",
    JdbcUrl = "jdbc:datadirect:openedge://132.42.1.41:10100;databaseName=mydb;user=myuser;password=mypwd;"
};
Console.WriteLine(sql);
var connection = new JdbcConnection(builder);
connection.Open();

Since the subsequent calls to random port numbers are blocked, we never get a response back. Is there a way to control which port numbers will the library call?

talibnawaz avatar Mar 14 '24 22:03 talibnawaz

@tcables please help

talibnawaz avatar Mar 14 '24 23:03 talibnawaz

@talibnawaz I'm sorry I'm not a primary developer, I just contributed once and answered a couple questions. I would recommend downloading the codebase, adding it to your solution, referencing it directly instead of the nuget package and stepthrough the code and see maybe where it could be coming from. otherwise if you do not find it, it could be the jar file. BUT I am not very familiar with this codebase. maybe @iodes or @evan-choi could shed some light if they have a moment

tcables avatar Mar 29 '24 18:03 tcables

@talibnawaz Did you ever got it working?

I'm struggling with properly configuring the Progress OpenEdge driver:

var builder = new JdbcConnectionStringBuilder
{
    DriverPath = "/Users/someuser/Downloads/openedge_jdbc_12.3/openedge.jar",
    DriverClass = "com.ddtek.jdbc.openedge.OpenEdgeDriver",
    JdbcUrl = "jdbc:datadirect:openedge://someip:someport;databaseName=somedb;user=someuser;password=somepassword",
}

using var connection = new JdbcConnection(builder);
connection.Open();

Just hangs on .Open() forever, no error appears. Do you have any experience with that one?

chrisandchris avatar Apr 16 '25 11:04 chrisandchris

@chrisandchris no, we had no luck with this one. We ended up going the ODBC route and using System.Data.Odbc was a huge relief over this one.

We looked up the issue I have mentioned in the original post, and it turned out to be an expected behaviour for it to make multiple connections to a list of ports

Ports needed to be open - Progress Community

talibnawaz avatar Apr 17 '25 01:04 talibnawaz

@talibnawaz Did you ever got it working?

I'm struggling with properly configuring the Progress OpenEdge driver:

var builder = new JdbcConnectionStringBuilder
{
    DriverPath = "/Users/someuser/Downloads/openedge_jdbc_12.3/openedge.jar",
    DriverClass = "com.ddtek.jdbc.openedge.OpenEdgeDriver",
    JdbcUrl = "jdbc:datadirect:openedge://someip:someport;databaseName=somedb;user=someuser;password=somepassword",
}

using var connection = new JdbcConnection(builder);
connection.Open();

Just hangs on .Open() forever, no error appears. Do you have any experience with that one?

The only difference I see between my code and yours is a semicolon missing in your JDBC URL after the password. Not sure if it makes any difference but might be worth a try

talibnawaz avatar Apr 17 '25 01:04 talibnawaz