Kbase P12015: How to change the Message Buffer size for SQL89 OIBroker and OIDriver?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  16/06/2009 |
|
Status: Verified
GOAL:
How to change the Message Buffer size for SQL89 OIBroker and OIDriver?
GOAL:
How to configure the Message Buffer size for SQL89 OIBroker and OIDriver?
FACT(s) (Environment):
Progress 8.3B
Progress 8.3C
Progress 8.3D
Progress 8.3E
Progress 9.0B
Progress 9.1x
IBM AIX
Windows
FIX:
The -Moi and -Msc parameters are used to to change the packet size of
communications between an ODBC driver (or Progress small client
executable) and an OID. By default, the network packet size between
these two is 1024 bytes.
FIX:
To explain, examine the various connections. The ODBC driver (small client) makes a network (TCP) connection to the OID (probably via an
OIB). Call this connection A. The OID then makes a connection to the database. Call this connection B. The -Mm parameter dictates the
message size for connection B (if it is a client/server connection).
The -Msc and -Moi dictate the message size for connection A.
-Msc indicates the message size to the client (ODBC driver, or small client) i.e. it is a client startup parameter.
-Moi indicates the message size to the OID i.e. it is an OID or OIB startup parameter.
One point to note is that -Msc only works for small client applications, not the ODBC driver. The ODBC driver still has this
functionality, however. To set the client side message size for the ODBC driver, you need to set an environment parameter called CLSDMSG
instead. It should be set to the desired message size, in bytes.
For ease of use, this document will refer to this parameter as -Msc instead.
Using the -Msc parameter as part of the OID connection string will result in an error indicating that there was no value
specified for parameter -c.
In usage, this works as follows:
- start the database with the -Mm parameter
proserve sports -S service1 -N tcp -H host1 -Mm 16000
- start the OIB or OID, with -Moi on Unix
$PROOIBRK -SV -S service2 -H host2 -N tcp -Moi 16000
- start the OIB or OID, with -Moi on Windows
%PROOIBRK% -SV -S service2 -H host2 -N tcp -Moi 16000
- connect the client - this depends on the client
a) ODBC Driver - Merant 3.50 driver
OID/OIB options
Protocol: TCP
Service: service2
Host: host2
Database options
DB access mode: Via Server
Protocol: TCP
Service: service1
Host: host1
Additional Options:
DB Connection: -Mm 16000
Before making the connection, make sure the CLSDMSG parameter is set to the desired message size: set CLSDMSG=16000
b) Progress small client (using dyndemo sample app)
dyndemo -SV -S service2 -H host2 -N tcp -Msc 16000 -db sports -H
host1 -N tcp -S host1