Consultor Eletrônico



Kbase 19832: Error (301) -umsep and V9 ODBC
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   26/05/2000
Title : Error (301) -umsep and V9 ODBC

This document applies to: ODBC (SQL-89)
Version and Release Number: V9.X

Summary:
Some customers may see the following error when trying to use ODBC (SQL-89) in V9:
[MERANT][ODBC PROGRESS driver][PROGRESS]** Could not recognize argument: -umsep. (301)
This kbase will explain what this means and why this is occurring.

Step by step details:
V9 introduces some new parameters for internationalisation. One of these is the -numsep parameter, which indicates the character to use for the thousands seperator in numbers. For example, in the US 1000 is written as 1,000, in Europe it is 1.000. This parameter is written to the DLC\startup.pf file on installation of V9, based on the options selected in the installation procedure.

The Merant SQL-89 ODBC Driver loads a DLL called prosql32.dll when you establish an ODBC connection to a Progress database. This DLL will access the DLC\startup.pf file, and try to interpret the parameters, and use them for the ODBC session.

The (301) error occurs when an older version of prosql32.dll is located. Older versions of prosql32.dll do not understand the -numsep parameter in the startup.pf file. To understand why this happens, we need to look at how parameters can be interpreted. It is possible to concatenate Progress startup parameters. For example,
-B 5000 -L 1000 -n 50
can also be represented as
-BLn 5000 1000 50

As part of the DLL's interpretation of parameters, the DLL assumes that -numsep is actually a concatenation of multiple parameters, in this case -n (the max number of users) and -umsep (unknown). This is why error (301) indicates that it cannot understand -umsep instead of -numsep.

To get around this error, you need to make sure you have the correct DLL in the path. The PATH will be searched when locating the DLL to load. If you have an old copy of prosql32.dll in the WINNT\system32 directory, this may be used instead of the new V9 parameter. If you no longer need to use the older version of Progress, you can replace this with the prosql32.dll from the DLC\bin directory. Alternatively, you can change the PATH as necessary to access DLC\bin before WINNT\system32 in the PATH.

References To Written Documentation or Other KnowledgeBase Documents:
Kbase 18817 :
"Client/server version mismatch. (642) Progress V9 SQL ODBC"

Progress Software Technical Support Note # 19832