Kbase P15416: SQL89 - Error 301 with -umsep when trying odbc test connect
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/15/2008 |
|
Status: Verified
FACT(s) (Environment):
Windows 32 Intel
Progress 9.1x
SYMPTOM(s):
** Could not recognize argument: -umsep. (301)
Error (301) and (2574) when ODBC test connect from windows client to UNIX
[MERANT][ODBC PROGRESS driver]][PROGRESS] ** Could not recognize argument: -umsep. (301)
[MERANT][ODBC PROGRESS driver]][PROGRESS]Server parameter required for remote connection. (2574)
Getting error 301 with -umsep when trying odbc test connect:
Progress v8 was previously installed.
Using sql-89
CHANGE:
Progress 9.1D was newly installed into same directory structure as Progress v8 had previously been located in.
CAUSE:
V9 introduces some new parameters for internationalization. One of these is the -numsep parameter, which indicates the character to use for the thousands separator 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.
FIX:
1. Ensure that 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.
2. Alternatively, you can change the PATH as necessary to access DLC\bin before
WINNT\system32 in the PATH.