Skip to main content

[Migrated content. Thread originally posted on 09 February 2012]

Hello,

I am trying to use COBSQL to compile code against Oracle 11g as the database.

I have used

CONFIRM CONSTANT DATABASE"ORACLE" p(cobsql) CSQLT=ORACLE11 CST CSP DIS MAKESYN SQLDEBUG VERBOSE KEEPCBL END-C p(cp) CONFIRM LIMITED-SEARCH ENDP ENDP as the COBSQL directives. I have put CSQLT=ORACLE11 not sure if this is ok (documentation seems to allow for ORACLE8)

When I compile the code, it happily invokes the precompiler

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.

when I further try to link this object into an executable I get

.OBJ : error LNK2001: unresolved external symbol _csqlsupp
D.OBJ : error LNK2001: unresolved external symbol _ora8lib
D.OBJ : error LNK2001: unresolved external symbol _ora8prot


I have included orasql11.lib and even CSQLSUPP.lib in the link command.

Am I missing something ? Seems that COBSQL inserts some call to oracle8 ? Does COBSQL support oracle 11g ?

PTeng

[Migrated content. Thread originally posted on 09 February 2012]

Hello,

I am trying to use COBSQL to compile code against Oracle 11g as the database.

I have used

CONFIRM CONSTANT DATABASE"ORACLE" p(cobsql) CSQLT=ORACLE11 CST CSP DIS MAKESYN SQLDEBUG VERBOSE KEEPCBL END-C p(cp) CONFIRM LIMITED-SEARCH ENDP ENDP as the COBSQL directives. I have put CSQLT=ORACLE11 not sure if this is ok (documentation seems to allow for ORACLE8)

When I compile the code, it happily invokes the precompiler

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.

when I further try to link this object into an executable I get

.OBJ : error LNK2001: unresolved external symbol _csqlsupp
D.OBJ : error LNK2001: unresolved external symbol _ora8lib
D.OBJ : error LNK2001: unresolved external symbol _ora8prot


I have included orasql11.lib and even CSQLSUPP.lib in the link command.

Am I missing something ? Seems that COBSQL inserts some call to oracle8 ? Does COBSQL support oracle 11g ?

PTeng

Please change directive to CSQLT=ORACLE8 as this should be used for Oracle8 or higher.
Oracle11 is not a valid value for this directive.

You must also link to module csqlsupp.lib which is in the Net Express\\base\\lib folder.

[Migrated content. Thread originally posted on 09 February 2012]

Hello,

I am trying to use COBSQL to compile code against Oracle 11g as the database.

I have used

CONFIRM CONSTANT DATABASE"ORACLE" p(cobsql) CSQLT=ORACLE11 CST CSP DIS MAKESYN SQLDEBUG VERBOSE KEEPCBL END-C p(cp) CONFIRM LIMITED-SEARCH ENDP ENDP as the COBSQL directives. I have put CSQLT=ORACLE11 not sure if this is ok (documentation seems to allow for ORACLE8)

When I compile the code, it happily invokes the precompiler

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.

when I further try to link this object into an executable I get

.OBJ : error LNK2001: unresolved external symbol _csqlsupp
D.OBJ : error LNK2001: unresolved external symbol _ora8lib
D.OBJ : error LNK2001: unresolved external symbol _ora8prot


I have included orasql11.lib and even CSQLSUPP.lib in the link command.

Am I missing something ? Seems that COBSQL inserts some call to oracle8 ? Does COBSQL support oracle 11g ?

PTeng

Hello Chris,

I have already tried oraCle8 as well (followed by oraCle11 !), but I still have the same problem and have also tried inCluding the lib that you mentioned in your post.

Pteng

[Migrated content. Thread originally posted on 09 February 2012]

Hello,

I am trying to use COBSQL to compile code against Oracle 11g as the database.

I have used

CONFIRM CONSTANT DATABASE"ORACLE" p(cobsql) CSQLT=ORACLE11 CST CSP DIS MAKESYN SQLDEBUG VERBOSE KEEPCBL END-C p(cp) CONFIRM LIMITED-SEARCH ENDP ENDP as the COBSQL directives. I have put CSQLT=ORACLE11 not sure if this is ok (documentation seems to allow for ORACLE8)

When I compile the code, it happily invokes the precompiler

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.

when I further try to link this object into an executable I get

.OBJ : error LNK2001: unresolved external symbol _csqlsupp
D.OBJ : error LNK2001: unresolved external symbol _ora8lib
D.OBJ : error LNK2001: unresolved external symbol _ora8prot


I have included orasql11.lib and even CSQLSUPP.lib in the link command.

Am I missing something ? Seems that COBSQL inserts some call to oracle8 ? Does COBSQL support oracle 11g ?

PTeng

I believe 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.

I just tested this using Oracle 11 and Net Express 5.1 and I get the exact same errors that you do if I add the CASE directive to the project directives and it links fine without the case directive.

Can you please check to see if you are setting this directive on and then remove it?

Thanks.

[Migrated content. Thread originally posted on 09 February 2012]

Hello,

I am trying to use COBSQL to compile code against Oracle 11g as the database.

I have used

CONFIRM CONSTANT DATABASE"ORACLE" p(cobsql) CSQLT=ORACLE11 CST CSP DIS MAKESYN SQLDEBUG VERBOSE KEEPCBL END-C p(cp) CONFIRM LIMITED-SEARCH ENDP ENDP as the COBSQL directives. I have put CSQLT=ORACLE11 not sure if this is ok (documentation seems to allow for ORACLE8)

When I compile the code, it happily invokes the precompiler

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.

when I further try to link this object into an executable I get

.OBJ : error LNK2001: unresolved external symbol _csqlsupp
D.OBJ : error LNK2001: unresolved external symbol _ora8lib
D.OBJ : error LNK2001: unresolved external symbol _ora8prot


I have included orasql11.lib and even CSQLSUPP.lib in the link command.

Am I missing something ? Seems that COBSQL inserts some call to oracle8 ? Does COBSQL support oracle 11g ?

PTeng

Thank you Chris.
That has done the trick.

Thanks again for you prompt response.

-PTeng