在vc++6.0中如何用内嵌的call语句调用oracle10的过程?
oracle 10.1中的过程:用来判断是否注册
procedure temp_proc(loginname in char,loginpwd in char,islogin in number);
(登录名,登录id,是否存在)
vc++6.0中内嵌call语句调用过程:
EXEC SQL BEGIN DECLARE SECTION;
char logpwd[9];
char logname[9];
int ok;
EXEC SQL END DECLARE SECTION;
ok=0;
EXEC SQL CALL temp_proc(logname,logpwd,ok);
错误如下:
--------------------Configuration: democ - Win32 Debug--------------------
Performing Custom Build Step on .\democ.pc
Pro*C/C++: Release 10.1.0.2.0 - Production on 星期一 11月 10 17:10:33 2008
Copyright (c) 1982, 2004, Oracle. All rights reserved.
系统默认选项值取自于: C:\oracle\product\10.1.0\db_1\precomp\admin\pcscfg.cfg
错误发生在行308, 列3, 文件.\democ.pc
EXEC SQL CALL temp_proc(:logname,:logpwd,:ok);
..1
PLS-S-00201, 必须说明标识符 'TEMP_PROC'
错误发生在行308, 列3, 文件.\democ.pc
EXEC SQL CALL temp_proc(:logname,:logpwd,:ok);
..1
PLS-S-00000, Statement ignored
在第 308 行, 第 3 列, 文件 .\democ.pc 有语义错误:
EXEC SQL CALL temp_proc(:logname,:logpwd,:ok);
..1
PCC-S-02346, PL/SQL 发现语义错误
Error executing c:\windows\system32\cmd.exe.democ.c - 1 error(s), 0 warning(s)-------------------------------
如果过程在包中,通过用包去引用,
则没有错误,为什么????
oracle 10.1中的过程:用来判断是否注册
procedure temp_proc(loginname in char,loginpwd in char,islogin in number);
(登录名,登录id,是否存在)
vc++6.0中内嵌call语句调用过程:
EXEC SQL BEGIN DECLARE SECTION;
char logpwd[9];
char logname[9];
int ok;
EXEC SQL END DECLARE SECTION;
ok=0;
EXEC SQL CALL temp_proc(logname,logpwd,ok);
错误如下:
--------------------Configuration: democ - Win32 Debug--------------------
Performing Custom Build Step on .\democ.pc
Pro*C/C++: Release 10.1.0.2.0 - Production on 星期一 11月 10 17:10:33 2008
Copyright (c) 1982, 2004, Oracle. All rights reserved.
系统默认选项值取自于: C:\oracle\product\10.1.0\db_1\precomp\admin\pcscfg.cfg
错误发生在行308, 列3, 文件.\democ.pc
EXEC SQL CALL temp_proc(:logname,:logpwd,:ok);
..1
PLS-S-00201, 必须说明标识符 'TEMP_PROC'
错误发生在行308, 列3, 文件.\democ.pc
EXEC SQL CALL temp_proc(:logname,:logpwd,:ok);
..1
PLS-S-00000, Statement ignored
在第 308 行, 第 3 列, 文件 .\democ.pc 有语义错误:
EXEC SQL CALL temp_proc(:logname,:logpwd,:ok);
..1
PCC-S-02346, PL/SQL 发现语义错误
Error executing c:\windows\system32\cmd.exe.democ.c - 1 error(s), 0 warning(s)-------------------------------
如果过程在包中,通过用包去引用,
则没有错误,为什么????
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货