Created On:  10 February 2012
Problem:
When using COBSQL to compile code against Oracle 11g as the database the following directives are set in the project:
When the code is compiled, the Pro*COBOL precompiler is invoked and the programs compile without error:
The compilation is sucessful and and .obj is produced.
But when the linker is invoked to create an executable the following errors are displayed:
The import libraries orasql11.lib and csqlsupp.lib do exist in the link command.
Why is this error occuring?
p(cobsql) CSQLT=ORACLE8 CST CSP DIS MAKESYN VERBOSE KEEPCBL END-C p(cp) CONFIRM ENDP ENDP When the code is compiled, the Pro*COBOL precompiler is invoked and the programs compile without error:
Pro*COBOL: Release 11.2.0.1.0 - Production on Thu Feb 9 15:32:35 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.The compilation is sucessful and and .obj is produced.
But when the linker is invoked to create an executable the following errors are displayed:
 : error LNK2001: unresolved external symbol _csqlsupp
 : error LNK2001: unresolved external symbol _ora8lib
 : error LNK2001: unresolved external symbol _ora8prot
The import libraries orasql11.lib and csqlsupp.lib do exist in the link command.
Why is this error occuring?
Resolution:
The cause of the problem is that you are specifying the $SET CASE directive in your program which is causing the external names to be generated as lowercase when they need to be generated as uppercase.  Please check to see if you are setting this directive on and then remove it.
Old KB# 35489
        
