Salesforce

How to determine the OpenEdge Version based on Error 44

« Go Back

Information

 
TitleHow to determine the OpenEdge Version based on Error 44
URL NameP58368
Article Number000169314
EnvironmentProduct: OpenEdge
Version: All supported versions
OS: All supported platforms
Question/Problem Description
How to determine the Progress OpenEdge version based on Error 44
Error 44 does not provide the Progress OpenEdge version
What is the wrong Database version ?
How to fix the the wrong version number reported in error 44 ?
What to do when ABL client's fail to connect with error 44
Why can I not run PROUTIL DBANALYS DBTOOL after upgrading the database?
Steps to Reproduce
Clarifying Information
Error Message** Database has the wrong version number. (db: <value>, pro: <value>). (44)
Defect Number
Enhancement Number
Cause
Resolution
When the Database is not of the same Major version as the utility or the same Major & Minor version of the client executable connecting single-user or shared-memory it will fail with error 44.

The db and pro numeric values returned in error 44 will help to identify the Major version of the database, but not the exact database version (say) OpenEdge 12.2, 11.6.4, 10.2B08, 10.0B or Progress 9.1D09.
                
Example:  ** Database has the wrong version number. (db: 4269, pro: 4246). (44)

The db and pro numeric values returned by Error 44 are the sum of:
  • The internal Database version + database block size.
Database blocksize = 4 K or 4096
         
db: 4269 = 4096 + 173
Database version = 173 = OpenEdge 11

pro: 4246 = 4096 + 150
Client version = 150 = OpenEdge 10

The db and pro numeric values for different versions of Progress OpenEdge with available database blocksizes are listed below. It is the database MasterBlock that contains version information:
 
Internal DB
Version
Major DB
Version
Database Blocksize (KB)
1024204840968192
7871102212641748270
8381107213141798275
9191115213941878283
150101174219842468342
173111197222142698365
184121208223242808376

When error 44 returns a 0 or other bogus value indicates a problem with the database itself.

If the pro and db values are very large positive or negative values, it most likely indicates that the database is from a different endian architecture than the client and the connection will never work.
   
Example:  ** Database has the wrong version number. (db:: -21216, pro: -21331). (44)

If a database is running on AIX ( a big endian architecture) but the client executable is using a little endian executable the formula for determining versions will not work as it would read the data in the block and incorrectly calculate the version. This would not be a supported configuration. 

 Which OpenEdge Certfied Operating Systems have the same endianess ?   
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 6:51 AM

Powered by