系统配置文件如下:
sqlcheck=semantics
userid=scott/scottpwd@orag
code=c
cpp_suffix=c
parse=full
include=C:\oracle\product\10.1.0\db_1\precomp\public
include=C:\oracle\product\10.1.0\db_1\OCI\include
include="C:\Program Files\Microsoft Visual Studio\VC98\Include"
=========================================================================
代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h> #include <sqlca.h> void connect(void);
void plsql(void);
void sql_error(void); int main(void)
{
EXEC SQL WHENEVER SQLERROR DO sql_error();
connect();
plsql();
EXEC SQL COMMIT RELEASE;
return 0;
} void connect(void)
{
EXEC SQL BEGIN DECLARE SECTION;
char name[10],pwd[10];
EXEC SQL END DECLARE SECTION;
printf("enter name:");
gets(name);
printf("enter pwd:");
gets(pwd); EXEC SQL CONNECT :name IDENTIFIED BY :pwd;
} void sql_error(void)
{
printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc)
} void plsql(void)
{
EXEC SQL BEGIN DECLARE SECTION;
char name[10],msg[30];
int eno;
float salary;
int flag=0;
EXEC SQL END DECLARE SECTION;
printf("enter empname:");
scanf("%s",&eno);
strcpy(name," ");
strcpy(msg," ");
//*
EXEC SQL EXECUTE
BEGIN
select ename ,sal into :name,:salary
from emp where empno=:eno;
:flag:=1;
EXECPTION
WHEN NO_DATA_FOUND THEN
:msg:='Have no this empolyee.';
END;
END EXEC;
if(flag==0)
printf("%s\n",msg);
else
printf("ename:%s,salary:%4.0f\n",name,salary);
//*/
}
===================================================================
错误如下:
--------------------Configuration: demo02 - Win32 Debug--------------------
Performing Custom Build Step on ..\democpp.pc
Pro*C/C++: Release 10.1.0.2.0 - Production on 星期二 10月 14 23:33:57 2008
Copyright (c) 1982, 2004, Oracle. All rights reserved.
系统默认选项值取自于: C:\oracle\product\10.1.0\db_1\precomp\admin\pcscfg.cfg
错误发生在行66, 列2, 文件\Study\vc60_oracle\democpp.pc
}
.1
PCC-S-02022, 在扫描 SQL 语句时发现文件结束标志
错误发生在行0, 列0, 文件\Study\vc60_oracle\democpp.pc
PCC-F-02102, C 预处理时, 发生严重错误
Error executing c:\windows\system32\cmd.exe. democpp.c - 1 error(s), 0 warning(s)
====================================================
那一位高手能解决?
十分感谢!!!!
sqlcheck=semantics
userid=scott/scottpwd@orag
code=c
cpp_suffix=c
parse=full
include=C:\oracle\product\10.1.0\db_1\precomp\public
include=C:\oracle\product\10.1.0\db_1\OCI\include
include="C:\Program Files\Microsoft Visual Studio\VC98\Include"
=========================================================================
代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h> #include <sqlca.h> void connect(void);
void plsql(void);
void sql_error(void); int main(void)
{
EXEC SQL WHENEVER SQLERROR DO sql_error();
connect();
plsql();
EXEC SQL COMMIT RELEASE;
return 0;
} void connect(void)
{
EXEC SQL BEGIN DECLARE SECTION;
char name[10],pwd[10];
EXEC SQL END DECLARE SECTION;
printf("enter name:");
gets(name);
printf("enter pwd:");
gets(pwd); EXEC SQL CONNECT :name IDENTIFIED BY :pwd;
} void sql_error(void)
{
printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc)
} void plsql(void)
{
EXEC SQL BEGIN DECLARE SECTION;
char name[10],msg[30];
int eno;
float salary;
int flag=0;
EXEC SQL END DECLARE SECTION;
printf("enter empname:");
scanf("%s",&eno);
strcpy(name," ");
strcpy(msg," ");
//*
EXEC SQL EXECUTE
BEGIN
select ename ,sal into :name,:salary
from emp where empno=:eno;
:flag:=1;
EXECPTION
WHEN NO_DATA_FOUND THEN
:msg:='Have no this empolyee.';
END;
END EXEC;
if(flag==0)
printf("%s\n",msg);
else
printf("ename:%s,salary:%4.0f\n",name,salary);
//*/
}
===================================================================
错误如下:
--------------------Configuration: demo02 - Win32 Debug--------------------
Performing Custom Build Step on ..\democpp.pc
Pro*C/C++: Release 10.1.0.2.0 - Production on 星期二 10月 14 23:33:57 2008
Copyright (c) 1982, 2004, Oracle. All rights reserved.
系统默认选项值取自于: C:\oracle\product\10.1.0\db_1\precomp\admin\pcscfg.cfg
错误发生在行66, 列2, 文件\Study\vc60_oracle\democpp.pc
}
.1
PCC-S-02022, 在扫描 SQL 语句时发现文件结束标志
错误发生在行0, 列0, 文件\Study\vc60_oracle\democpp.pc
PCC-F-02102, C 预处理时, 发生严重错误
Error executing c:\windows\system32\cmd.exe. democpp.c - 1 error(s), 0 warning(s)
====================================================
那一位高手能解决?
十分感谢!!!!
解决方案 »
- oracle月份分解求解。
- 一张表内数据取出特定的两行(两列)中的相同字段的数据运算该如何解决
- 装完VMware后,重启电脑,结果键盘失效,求助,急!!!!!!
- ORACLE优化--查询语句中WHERE子句中链接顺序与查询速度的关系
- 一个对我来说困难的SQL 问题,急!!
- oracle的sys用户导致的ORA-12526受限模式的问题
- 如果批量编译失效存储过程
- 请问如何删除internal用户或者更改他的密码?
- 高手: 始何写 字段1相同,字段2=3 并且字段2=3有多条相同的记录的 sql 语句
- SQL2000导出数据到Oracle8.1.5中的问题,急,在线等!!!
- 求一个plsql的写法
- 游标相关简单的问题
不过为什么不把pl sql写在后台去调用呢,不是更方便?
楼主的问题会不会是版本不兼容的问题,
《精通Oracle 10g Pro*C/C++编程》
这本书吗?
以上代码原于它。嵌入pl/sql的代码块为了编程灵活。我安装的版本是:Pro*C/C++: Release 10.1.0.2.0
此书上用的也是此版本。
为什么我的就不能用呢!
各位,有什么好的解决办法吗?
我在期待!!!
include="C:\Program Files\Microsoft Visual Studio\VC98\Include"
这个路径是VC的路径,跟你的Pro*C/C++的路径是一样的吗?会不会是路径有问题.
Pro*C/C++的路径是什么?
我的oracle10.1安装时有Pro*C/C++组件,
可是安装完后所有可见的项中找不着,
你能给出Pro*C/C++的路径吗?
谢谢!!!