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) |
| 1024 | 2048 | 4096 | 8192 |
| 78 | 7 | 1102 | 2126 | 4174 | 8270 |
| 83 | 8 | 1107 | 2131 | 4179 | 8275 |
| 91 | 9 | 1115 | 2139 | 4187 | 8283 |
| 150 | 10 | 1174 | 2198 | 4246 | 8342 |
| 173 | 11 | 1197 | 2221 | 4269 | 8365 |
| 184 | 12 | 1208 | 2232 | 4280 | 8376 |
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 ?