Error connecting ODBC

Posted by grupoci on 15-Jun-2015 06:37


I've got a problem creating new ODBC connection in windows Server 2003 R2.

I´cant connect to a OpenEdge database. It appears this error: [DataDirect] [ODBC Progress OpenEdge Wire Protocol driver] [OPENEDGE] Broker rejects connection.

I try to create a new database with the same data in openedge explorer but when I try to connect ODBC appears the same error.

I've got another database in the same server and works OK. I can connect ODBC, so I think there is something wrong in the other database.

Both database have the same configuration (client type: both (sql and 4gl))

Can you help me to set the ODBC connection?



All Replies

Posted by cverbiest on 15-Jun-2015 07:04

Can you provide some more details ?

  • Which connection parameters do you use ?
  • Do you see errors in the database log file (.lg file) ?
  • What are the database startup parameters ?

Posted by Fuelfire on 16-Jun-2015 09:52

Hello! In most cases this error means that maximum number of network servers has been exceeded. You must start a secondary broker when you need both 4GL and SQL clients. This is the best option.

Posted by grupoci on 18-Jun-2015 02:42

I try to connect with a secondary broker and I have the same problem.

In the database log file appears this:

"[2015/06/18@09:28:25.843-1200] P-5484       T-5488  I BROKER  1: (8839)  No hay servidores SQL disponibles.  Inténtelo mas tarde."

cverbiest, these are the connection parameters:

Hostname: localhost (I also tried with IP address)

Port number: 2733

Database Name: ver2000.db

User ID: PUB

Password: ******

And these are the database startup parameters:

-db        ver2000
-d        dmy
-N        tcp
-H        PL09
-S        2732

Posted by cverbiest on 18-Jun-2015 03:21

> "[2015/06/18@09:28:25.843-1200] P-5484       T-5488  I BROKER  1: (8839)  No hay servidores SQL disponibles.  Inténtelo mas tarde."

To avoid this you have to  use a secondary broker.

> -db        ver2000 -N        tcp -H        PL09 -S        2732

These look like database connection parameters, not database broker startup parameters

e.g. to start a db for 15 4GL + 5 SQL users you need something like

proserve database -n 20 -Mn 20 -Mpb 15 -Mi 1 -Ma 1 -ServerType 4GL

proserve database -m3 -Mpb 5 -ServerType SQL

Posted by Fuelfire on 19-Jun-2015 02:00

Hi, grupoci. If you have the opportunity to restart the database, there is a way to determine that the number of servers exceeded. Restart the database, and the first thing run SQLExplorer against database.

sqlexp -char -db [database] -S [port number] -user [SYSPROGRESS or another sql user] -password [password]

You should see in the log database the following lines:

...SQLSRV2 1: (-----) SQL Server started...

Thus, you grab one of the servers for SQL users before 4GL users connect to the database.

Then try to connect to the database through the ODBC.

If successful, you must increase the number of servers or the start of the secondary broker. The second option is the most desirable.

Here screenshots from proexp of my test db (50 4GL + 50 SQL). I prefer to start database through dbman. Maybe it would be useful.

Or start the database as shown in the example of cverbiest.

Best regards, Andrew.

This thread is closed