progress 10.1C / Linux issue

dougcu

New Member
Help! We used to be able to open a server-socket ie: (tcp)port 55555 and once started anyone could connect to our server using that port number. Now with OpenEdge 10.1C It refuses the connection except when trying the 127.0.0.1 "loop back" from the Linux server itself. Any idea what if anything Progress changed? Help!
 

RealHeavyDude

Well-Known Member
Given that less information one could only speculate ...

  • How do you start the database - what parameters do you use ( do you use the -H startup parameter )?
  • From what version did you upgrade to OE 10.1c?
  • What parameters do you clients use to connect to the datbase?
  • What is the exact error message you get?
  • What does the database log file say?
In general I don't believe the "only one thing changed and now it is broken" statements. Usually it turns out that an upgrade in the Progress version was base for other changes in the environment - but that is also speculation.


Heavy Regards, RealHeavyDude.
 

medu

Member
is that when you try to connect to a database server, an application server or simply a socket server that you enable-connections for?

you're most probably in a NAT environment with multiple network cards on that server, you might try to add '-H hostname' parameter for enable-connections or set the registration mode to host name instead of address for appsrv.
 

dougcu

New Member
Given that less information one could only speculate ...

  • How do you start the database - what parameters do you use ( do you use the -H startup parameter )?
  • From what version did you upgrade to OE 10.1c?
  • What parameters do you clients use to connect to the datbase?
  • What is the exact error message you get?
  • What does the database log file say?
In general I don't believe the "only one thing changed and now it is broken" statements. Usually it turns out that an upgrade in the Progress version was base for other changes in the environment - but that is also speculation.


Heavy Regards, RealHeavyDude.
Thank you Heavy for your reply - We do not currently use the -H or any startup parameters. We went from 8.2C as 8.2C was old and limited. The error that bothers me when someone tries to connect is: "connect to address 192.168.1.2: Connection refused"
We can connect to 127.0.0.1 only. the tcp port 5555 does LISTEN. The results of 'netstat -an' for that port are: tcp 0 0 127.0.0.1:5555 0.0.0.0:* LISTEN.
On 10.1A when enabling connection S 5555 we get: "tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN" Both computers are on the same version of Red Hat and use the same program to start the server socket.
The database log file shows no errors and Data pace Options: as blank.
Than you again.
-Doug
 

dougcu

New Member
is that when you try to connect to a database server, an application server or simply a socket server that you enable-connections for?

you're most probably in a NAT environment with multiple network cards on that server, you might try to add '-H hostname' parameter for enable-connections or set the registration mode to host name instead of address for appsrv.

That is with a socket server. We did not yet but could try and use the '-H hostxyz' parameter. Thanks for your interest!
-D
 

RealHeavyDude

Well-Known Member
Re: Kim Kardashian sex tape

Just to make sure that we don't misunderstand each other - there are three ways supported by Progress that a client can connect to a Progress/OpenEdge database with 4GL clients ( I assume that you are running 4GL, not SQL clients ):

  1. Single user: The client only needs to specify the path to the .db file - this means the client opens the database exclusively.
  2. Multi-user, self-service client: Only possible when the client runs on the same machine where the database broker is started. The client only needs to specify the path to the .db file and connects to it directly via shared memory - no network included.
  3. Multi-user, remote client: The clients connects using -db (physical name of the database without path ) -H (host) and -S (serivce) via the TCP port on which the database broker is listening.
So I am wondering how do your clients connect to the database - what is exactly the connect statement they user?

Heavy Regards, RealHeavyDude.
 

dougcu

New Member
It is with multi-user, remote client we were just using the -S parameter. We were given a work-around (use the -H parameter as well) but then we can't (on this system) connect to the locahost. Any ideas?
Dougcu
 

dougcu

New Member
Just to make sure that we don't misunderstand each other - there are three ways supported by Progress that a client can connect to a Progress/OpenEdge database with 4GL clients ( I assume that you are running 4GL, not SQL clients ):


  1. Single user: The client only needs to specify the path to the .db file - this means the client opens the database exclusively.
  2. Multi-user, self-service client: Only possible when the client runs on the same machine where the database broker is started. The client only needs to specify the path to the .db file and connects to it directly via shared memory - no network included.
  3. Multi-user, remote client: The clients connects using -db (physical name of the database without path ) -H (host) and -S (serivce) via the TCP port on which the database broker is listening.
So I am wondering how do your clients connect to the database - what is exactly the connect statement they user?

Heavy Regards, RealHeavyDude.
We are just trying to listen for requests on a particular socket 5555. we were not using a -H hostname but now we have tired that -H parameter and it will not listen on the localhost for that port and we would like it to listen on the port for both the localhost and the host.
Thanks in advance,
Dougcu
 

tamhas

ProgressTalk.com Sponsor
I'm not clear what you want here. If you start the server with a -S port, you must use -S to connect to that database. Obviously, you also need to use -H from any other system in order for it to know where to look. I can't say that I have tried not using -H when on the same host as the server, but what possible objection is there to supplying it? It makes the startup uniform no matter where the client may be.

Are you specifying names in /etc/hosts and /etc/services?
 

medu

Member
well, this turn out to be about server socket and enable-connections... at least this is what i think, not the first time i'm wrong ;)

thing is that the '-H' parameter isn't anywhere mentioned for enable-connections and it was more like a wild guess... normally on a lower-level 'bind' one could specify the ip addresses the socket will listen to, this apparently isn't available in ABL, although it does looks like the '-H' trick did work to some extent... default is 'localhost' btw. could you try to specify it multiple times?

'-H localhost -H hostname'
 

tamhas

ProgressTalk.com Sponsor
It may have come from a spam post which has since been deleted, but before it was, someone responded with a legitimate answer and inherited the changed subject.
 

Casper

ProgressTalk.com Moderator
Staff member
I took the opportunity to change the title back to its original. Seemed more appropiate :)
 
The hostname should have been defined prior to installing Progress/OpenEdge, if you are going to be using appserver or anything using java you will have problems as all the environment scripts are pointing to localhost. So shutdown the servers and reinstall Progress.
 

dougcu

New Member
Thanks you all people especially Medu as we took his suggestion and added a -H parameter before the -S socket number in our parameters file.
We used "0.0.0.0" as the hostname.
Dougcu
 
Top