Highlighted
Absent Member.
Absent Member.
10087 views

Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

Bonjour les cobolistes,

 

Je viens d'installer un client oracle 11g afin de faire des tests de comptabilité pour une migration d'oracle 10 vers là 11.

Installation Ok, compilation du programme OK. Au lancement de mon programme, je reçois une erreur à la connexion 173 called program file not found in drive / directory SQLADR. J'ai lancé ensuite un PROCOB afin d'avoir un peu plus d'information sur l'erreur et apparemment la precompiler ne sait pas ouvrir un cpy (structure d'une table DB).

Workstation : win Xp 32 bits, NetExpress 3.0.14

0 Likes
1 Solution

Accepted Solutions
Highlighted
Micro Focus Expert
Micro Focus Expert

RE: Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

Which method did you use, LITLINK or INITCALL"ORASQL11"?

I would recommend that you try LITLINK as there may be an issue with INITCALL"ORASQL11" with Oracle 11.

Please try LITLINK and add the orasql11.lib to the link and see if you get the same problem with the GetProcessImageFileNameA error.

Thanks.

View solution in original post

0 Likes
10 Replies
Highlighted
Absent Member.
Absent Member.

RE: Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

Merci pour votre aide 🙂

0 Likes
Highlighted
Absent Member.
Absent Member.

RE: Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

Information en plus "Cannot find module 'SQLADR'"

0 Likes
Highlighted
Micro Focus Expert
Micro Focus Expert

RE: Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

These newer versions of Oracle have never been certified by Oracle with these older product releases such as Net Express 3.0.

The 173 error on SQLADR can normally be resolved by using one of the following methods:

1.  Add the LITLINK directlive to the compile and then add the Oracle library to the link step.

On my system the Oracle library can be found here:

    C:\app\crg\product\11.2.0\dbhome_1\precomp\LIB\orasql11.lib

where crg is the user name and dbhome_1 is the Oracle home.

or

2. Add the directive INITCALL"ORASQL11" to the compile

Thanks

0 Likes
Highlighted
Absent Member.
Absent Member.

RE: Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

1. I find the Library on C:\app\rg1899\product\11.2.0\client_1\precom\lib.

2. How to add the directive initcall "ORASQL11"?

Thanks

0 Likes
Highlighted
Micro Focus Expert
Micro Focus Expert

RE: Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

You would use either the LITLINK directive or the INITCALL"ORASQL11" directive but not both.

If you are linking to the library C:\app\rg1899\product\11.2.0\client_1\precomp\lib\orasql11.lib then you need to add the LITLINK directive to your compile.

If you are not linking to the POracle library then you need to add the INITCALL"ORASQL11" directive to your compile.

Where you add compiler directives depends on your current method of building.

If you are using a Net Express project then you can add these under Project-->Properties in the compiler directives box. If you are building from the command line using a .bat file then these might be in a directives file like cobol.dir or you might be specifying them on the command line.

You should currently have directibves that turn on procobol support that look like the following. You can add the new directive to the same location.

Example:

p(cobsql) CSQLT=ORACLE8 MAKESYN VERBOSE KEEPCBL  END-C ENDP litlink;

or

p(cobsql) CSQLT=ORACLE8 MAKESYN VERBOSE KEEPCBL  END-C ENDP initcall"orasql11";

0 Likes
Highlighted
Absent Member.
Absent Member.

RE: Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

I put the string in this screen?

Thanks in advance

0 Likes
Highlighted
Micro Focus Expert
Micro Focus Expert

RE: Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

Yes you can put either LITLINK or INITCALL"ORASQL11" in that box between ENSUITE(3) and the ending semi-colon.

Since the procobol directives are not included here they must be set somewhere else.

Again, Net Express 3.0 has never been tested with the newer Oracle releases so I strongly encourage you to upgrade your compiler version to Net Express 5.1 or to Visual COBOL.

Thanks.

0 Likes
Highlighted
Absent Member.
Absent Member.

RE: Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

After the modification, I have this new error: GetProcessImageNameA not found in the Library PSAPI.DLL.

Api's version: 5.1.2600.5512.

Thanks in advance

0 Likes
Highlighted
Micro Focus Expert
Micro Focus Expert

RE: Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

Question:

Was this application compiling and running successfully on this same computer before moving from Oracle 10 to Oracle 11 or are you also changing to a new OS, etc.?

I ask because you really should not have to change anything else other than the version of the Oracle library that you link to or the version of the Oracle .dll that you load

If this was working before with Oracle 10 then you should not have to add any new compiler directives at all but you should just need to modify the current settings to point to the new library names.

GetProcessImageFileNameA is a Windows API function that is located in either kernel32.lib or PSAPI.lib depending on the OS that you are using.

Please see the following from Microsoft:

msdn.microsoft.com/.../ms683217(v=vs.85).aspx

0 Likes
Highlighted
Micro Focus Expert
Micro Focus Expert

RE: Error 173 called program file not found in drive / directory SQLADR avec Oracle 11g

Jump to solution

Which method did you use, LITLINK or INITCALL"ORASQL11"?

I would recommend that you try LITLINK as there may be an issue with INITCALL"ORASQL11" with Oracle 11.

Please try LITLINK and add the orasql11.lib to the link and see if you get the same problem with the GetProcessImageFileNameA error.

Thanks.

View solution in original post

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.