Unable to connect with new Unix ODBC setup (OpenEdge)

vkvisva

New Member
I just installed an eval version and configured an OpenEdge database.
Ran the provided example program under samples. It picks up the correct one from odbc.ini, however
I get this error:
SQLSTATE = 08001
NATIVE ERROR = 0
MSG = [DataDirect][ODBC Progress OpenEdge Wire Protocol driver]Connection refused. Verify Host Name and Port Number.

SQLSTATE = S1000
NATIVE ERROR = 0
MSG =


telnet <hostname> port works (i.e., confirmed that network connectivity exists for the given host/port)

(Earlier I did a small odbc test from a Windows box to the same db and credentials, and it worked).
Thanks in advance for any suggestions or help.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
What is the configuration of the database brokers?

Can you confirm at the OS level that you have a SQL broker process bound to the port you expect?

Can you provide a link to the example you are working through so I can follow along?
 

vkvisva

New Member
Hi Rob,
Thanks for your response.
Attached is the odbc.ini file.
Since it works from Windows (odbc connection to the same server, port, DB) I assume there is a SQL Broker process. However, I will check with the DBA again.

Also jdbc connections work from the same server (just for information - possible it may go through a different channel, not sure)

Regards,
Visva
 

Attachments

  • odbc.ini.txt
    1.2 KB · Views: 7

vkvisva

New Member
Looks like the port redirection in Progress DB (which I did not know happens) may be causing the connectivity failure. I think taking care of that (appropriate firewall rules) should take care of this
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
It isn't exactly port redirection. Remote clients, whether ABL or SQL, ultimately connect to processes called servers to perform data access. But servers are spawned in response to user demand, their ports are assigned dynamically, and user connections are assigned to servers to balance load. This coordination is done by a process called a login broker.

The login broker has a fixed port number or service name (given by the -S parameter). It has many other parameters related to client/server connectivity that determine how servers are managed. Included in these are the -minport and -maxport parameters, which determine the range of port numbers that the broker may use when spawning a server. When a client connects to the broker, it chooses a server for the client to connect to, possibly first spawning the server and assigning its port, if necessary. The broker provides this port number to the connecting client. The client then disconnects from the broker and connects on the provided port number.

For firewall configuration, you have to allow connections to the database server from client subnets on the broker (-S) port and on the range of ports between -minport and -maxport. A database may have more than one login broker; each one has its own values for these parameters. So you might need multiple firewall rules to accommodate all of the broker ports and server port ranges.
 
Top