%META:TOPICPARENT{name="ErrorMessagesI"}%
= Error Message: Invalid packet length =
This error typically occurs when using an SQL-92 driver (as opposed to an SQL-89 driver) against a Progress DBMS which is not accepting SQL-92 connections.
The Progress instance may simply need to be restarted with SQL conenctions enabled on the primary broker, or a secondary SQL-92 Broker may be configured to accept ODBC connections.
The latter case can be confirmed by the occurrence of the following error message in the Progress native database log --
{{{
Server's received count 1 does not equal client(1)'s send count 16777216.
}}}
%BR%
A secondary SQL broker is generally started with a second .pf file, containing at least the following parameters --
| -db <DatabasePath> | Path to database. Same as that in the primary .pf file. |
| -H <Hostname> | Hostname. Same as that in the primary .pf file. |
| -S <ServiceName> | Service name for this broker. Port must also be assigned in /etc/services. Both name and port must differ from those of the primary broker. |
| -N TCP | Always, TCP. Same as that in the primary .pf file. |
| -Mpb <MaxServers> | Sets the maximum number of servers for this broker. |
| -ServerType SQL | Specifies that this broker will handle SQL connections. |
| -m3 | Specifies that this is a secondary broker. |
Start this broker after the first one, with a command like (your exact command may vary) --
{{{
proserve -pf /path/to/second.pf
}}}
Any other parameters set in the primary {{{.pf}}} file will be inherited.
One thing you may need to override/change on a secondary SQL broker for OpenEdge 10.1B and higher is the {{{-Ma}}} parameter. This is typically set low for an ABL/4GL broker, but high for an SQL broker.