SCO 4GL 4.x programs against Linux OnLine 7.x
Posted in 1999
Topics: Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL, Platform-Specific Issues
Hi, we have a somewhat unusual problem here - one of our clients has a bunch of old 4GL programs compiled with Informix 4.10 on SCO Unix (OpenServer 5). He wants to migrate to a Linux system running Online 7.x (Linux native version). Unfortunately, the source code to some of the old programs is lost so we need a way to run these on the Linux system (old and new applications will have to access the same database). Using iBCS on Linux, I have no problems running the old programs against a 4.x SE. I know that I have to set the SQLEXEC environment variable to the location of the 7.x sqlrm executable to run the programs against Online 7. I tried two scenarios: 1. INFORMIXDIR set to the 7.x Informix installation directory results in the error message "Please install an Informix 4GL run-time facility and run this program again" when starting the 4GL program, when starting isql (from the 4.x installation) I get an unknown error message 32766 2. INFORMIXDIR set to the 4.x Informix installation directory results in the error message "4GL run-time error number -23101" when starting either the 4GL program or the 4.x isql. I know this is a very unusual combination of Informix versions together with iBCS emulation but it would be great if someone could provide us with any hints what to try next. Thanks a lot in advance, Michael Engel (engel@unix-ag.org) -- Michael Engel (engel@unix-ag.org)
On 25 Dec 1999 18:30:58 +0100, Michael Engel <engel@math.uni-siegen.de> wrote: See some comments below: >Hi, > >we have a somewhat unusual problem here - one of our clients has a >bunch of old 4GL programs compiled with Informix 4.10 on SCO Unix >(OpenServer 5). He wants to migrate to a Linux system running Online 7.x >(Linux native version). > >Unfortunately, the source code to some of the old programs is lost so >we need a way to run these on the Linux system (old and new applications >will have to access the same database). Using iBCS on Linux, I have no >problems running the old programs against a 4.x SE. I know that I have to >set the SQLEXEC environment variable to the location of the 7.x sqlrm >executable to run the programs against Online 7. I tried two scenarios: > >1. >INFORMIXDIR set to the 7.x Informix installation directory >results in the error message >"Please install an Informix 4GL run-time facility and run this program again" >when starting the 4GL program The check that's done is usually for the message files. As the placement of these files has changed over these versions you should copy the old 4GL message files from the SCO machine to the same location relative to INFORMIXDIR on the Linux machine. It's (some of) the '.iem files in the INFORMIXDIR/etc directory on your SCO machine. If you do that it's possible the programs will run. Make sure you don't replace files from the 7.x version with old ones from the 4.x SCO version. Of course if you have date fields with space for only 2 digits for the year you will get Y2K problems. If you have space for 4 digits you'll always have to type all 4 digits and it will probably work. Of course DBCENTURY will have no effect within 4GL programs with such an old version. >, when starting isql (from the 4.x installation) >I get an unknown error message 32766 Again it can't find the message files. It's probable there are other things it can't find as well. >2. >INFORMIXDIR set to the 4.x Informix installation directory >results in the error message >"4GL run-time error number -23101" when starting either the 4GL program >or the 4.x isql. It would be hard to get anything to work with this setting of INFORMIXDIR. >I know this is a very unusual combination of Informix versions together >with iBCS emulation but it would be great if someone could provide us >with any hints what to try next. Another thing you might want to try is to install the old 4.x version of all Informix products in one directory on the Linux machine first and then install the new Linux 7.x version into the same directory. You would want to check which files are replaced by the installation of the Linux 7.x version, but I believe it will be only those that should be replaced. > >Thanks a lot in advance, > Michael Engel (engel@unix-ag.org) Nils Myklebust NM Data AS Norway E-mail: Nils.Myklebust@nmdata.com FAQ at: http://www.iiug.org/techinfo/faq/faq_top.html (Now with ODBC info under "Third party products".)
Hi, > > Of course if you have date fields with space for only 2 digits for the > year you will get Y2K problems. If you have space for 4 digits you'll > always have to type all 4 digits and it will probably work. > Of course DBCENTURY will have no effect within 4GL programs with such > an old version. > If the old 4GL programs use functions today() or current(), they won't work after February 28, 2000. These functions don't know about February 29 2000 and therefore you will have date March 01, 2000 on February 29, 2000; March 02, 2000 on March 01 2000 and so on. This problem was found in Informix-4GL RDS 4.10 under SCO UNIX. Andrey Azarov aan@real.kharkov.ua