我想使用c语言连接到Oracle数据库。为此,我使用oOacle预编译器,我的操作系统是ubuntu 11.04。
我的代码是
#include<stdlib.h>
#include "/home/prasad/oracle/product/10.2.0/db_1/precomp/public/sqlca.h"
int var1;
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR ENAME[10];
int dno;
EXEC SQL END DECLARE SECTION;
main()
{
EXEC SQL CONNECT :SCOTT IDENTIFIED BY :TIGER;
printf("\nConnected to ORACLE as user: \n");
}
我使用预编译器编译了它,但是它给出了错误
PCC-F-02044,CMD-LINE:选项的非法或超出范围值:ltype = long
有什么问题?
答案 0 :(得分:0)
由于错误引用了命令行和ltype
is a command-line flag,这表明它可能没有达到查看代码的程度。
如果您没有在命令行上指定标志,请检查配置文件中的设置 - proc
的横幅显示消息中的位置'系统默认选项值取自... ”。在你的情况下,我猜这将是/home/prasad/oracle/product/10.2.0/db_1/precomp/admin/pcscfg.cfg
。
假设明确将其设置为long
,您可以尝试将ltype=short
添加到proc
命令中,如果可行,则可以在pcscfg.cfg
中更改它文件让以后的生活更轻松。如果这没有帮助,请将整个proc
命令和该文件的内容添加到您的问题中。
据我所知,Ubuntu不是Oracle支持的平台,所以它也可能不起作用,虽然这似乎不太可能......