Archive for category Progress

Progress: proxml.dll or missing

Error: Getting a “proxml.dll or missing” error when running XML

Cause:You’re using 10.1A or 10.1B on Windows Server 2008 environment.

There are two workarounds available to fix this issue – one for ABL client and other for AppServer or WebSpeed brokers. The first workaround resolves the issue for all type of ABL clients:

1. Copy the msvcp71.dll file from the $DLC/bin/System directory to $DLC/bin.

Workaround for AppServer/WebSpeed brokers:

2. Add an environment variable on the broker configuration to append the DLCbinSystem at the beginning of the PATH as the following and restart the broker.

No Comments

Progress Database: Move Database Extents


  1. How to move a database from a machine to another
  2. How to change the location of the database extents
  3. How to update the location for a database that was copied or moved from one directory to another using an Operating System command
  4. How to update a database that was copied or moved from one directory to another using an Operating System command


  1. All Supported Operating Systems
  2. Progress/OpenEdge Versions


The structure description file (.st) is the text-file representation of the database structure that is saved in the .db file.
The .db file, or database control area, acts as a table of contents for the database engine, listing the name and location of every area and extent in the database.
The database structure is written into the .db file for the database, and when a database is moved using operating system utilities, the .db file must be updated accordingly.

The .db file is updated running prostrct repair. It uses an .st file to update the location of the extent file.
Prostrct repair should be used when a database is moved to a new file system or location, so that the directory structure is changed, e.g. when a database is copied from drive c:Progress to drive d:Progress using os utilities.

Steps to follow:

1. Run prostrct list dbname to obtain an up- to-date structure file (.st).
prostrct list mydb

2. Edit the structure file to reflect the new paths to the database files.
In the above example, edit the file.

3. Change all references in the .st file to reflect the new locations where the files will be moved to.

4. Use operating system tools to move the files.

5. Run prostrct repair dbname using the edited .st file to change the structure file to show the new paths.
prostrct repair mydb

6. Run prostrct list again to verify the paths to the database files are correct.
prostrct list mydb

No Comments

Progress Dataserver with MS SQL Server – Unable to get same Progress RecID throughout the 4GL program

Came across of an interesting issue today:

  • Platform:
    • Progress OpenEdge 10.2A 32-bit w/ SP3
    • MS SQL Server 2008 64-bit w/ SP1

  • Issue: Unable get the same Progress RecID through out the 4GL program

Here’s pretty much all the items I covered:

  • Checked the table and made sure the record is there
  • Ran the program using test messages

  • Checked to make sure schema holder matches the SQL Database

  • Ran the program with 4GL Logging and qt_debug,extended but unable to see anything useful in the logs

Unable to think of anything else to try I recreated the schema holder and SQL database from scratch and what do you know? it worked!! I compared the DF from the schema holder and the SQL databases and they’re exactly the same!

After spending hours on this the only thing I can think of is corruption in the schema holder….? would it get fixed if I had dumped and loaded the DF of schema holder into an empty database..?

No Comments

Webspeed: Messenger not able to load wsmsgp.dll errno -1

Error: Messenger not able to load wsmsgp.dll errno -1


  • Progress says that this could be caused by corruption in cgiip.exe

  • Issue was happening on Windows Server 2008 R1 & R2 and IIS 7 and 7.5


  • Need to give IUSR and IIS_USRS permission to read and access the DLC and the webmessanger DLL (wsmsgp.dll)

  • Simply go to the security for the DLC folder and Advance Options, add the IUSR and IIS_USRS to the list and give them READ, EXECUTE, WRITE permissions and make sure to select the check box to replace all child object permissions and click on OK. This will give IIS permission to access all the files and folders under the DLC path

No Comments

Progress Editor or program shows the wrong time

Time Zone (TZ) was set to gmt0, which took precedence over the local Windows system time zone setting.

Manually set time zone (TZ) to the correct setting.

1. Go to Windows Start Menu
2. Select Settings
3. Select Control Panel
3. Click on System icon
4 Slectd Advanced Tab
5. Click on Environment Variables button
6. Select New under System Variables
7. Enter TZ for variable and EST5EDT for the value
8. Reboot system

No Comments

Unable to start Progress webspeed

If you are receiving a message similar to below, there are few things that should be checked to correct it.

ServerSocketsIPC read() IOException : : NULL (8127)

  1. Check to make sure there aren’t any special characters in the pf file

  2. If you are using Windows environment then check to make sure there is at least one extra line at the end of the pf file

  3. Double click on the pf file to make sure you can connect to the database using the file

  4. Make sure that the pf file includes the -Mm parameter that you’re using to start the database

  5. Make sure that the port used for the webspeed is available. you can find out if the port is already taken by another application by using netstat command

  6. Make sure there aren’t any rogue Progress processes lying around and using the port that you specified for the webspeed.

No Comments

Progress Database: No servers available. (8089)

If you see the above message in the database log then you would need to increase the Ma and Mn to accommodate all the connections to the database. These parameters go in the PF file, Progress Explorer, OpenEdge Explorer or whatever you like to use to start your database.

No Comments

Progress Database Administration: Why don’t I see all the options in the menus or why are they blanked out?

If you ever had a development license you noticed that you can see a lot of different options or all the options you see are all active. However if you log in to a less privileged license which happens to be the case for most smaller businesses then you wouldn’t be able to see all the options or you wouldn’t be able to select some of them.


As you probably have guessed the reason is because of the license used.

No Comments

Progress Dataserver: querying a SQL Text field using 4GL

Working Progress Dataserver and running queries against a Foreign database such as SQL Server you find that if you try to query a table with set of conditions that use equal or not equal for a text field or try to order by the text field in your query you’ll get an error similar to the following:

The data types text and ntext are incompatible in the equal to operator
The text, ntext and image data types cannot be compared or sorted, except when using IS NULL, or LIKE operator

The reason is mentioned in the error message and it’s fairly straight forward. As a workaround you have to use “BEGINS” or “MATCHES” in your Progress 4GL query to be able to compare the Text field.

No Comments

How to set up Progress 4GL logging

I’ve found this very useful in troubleshooting problems in the code or figuring out where a problem occurs in a huge and complicated 4GL program.

Simply use this with the list of parameters you use to start the application. If you have a shortcut that uses your own ini file and such then you can just add it at the end of the shortcut path (args):

-clientlog myClient.log -logginglevel 4 -logentrytypes 4GLTrace,4GLTrans,DB.Connects,FileID,QryInfo

myClient.log can really be any file you want. You can specify the exact path you want the file to created in. If you don’t (as it is) it will write the file to your Progress work directory.

e.g. prowin32 -basekey INI -ininame client.ini -pf -p start.p -T %temp% -clientlog myClient.log logginglevel 4 -logentrytypes 4GLTrace,4GLTrans,DB.Connects,FileID,QryInfo