数据库 Proc编程一
时间:2021-07-01 10:21:17
帮助过:24人阅读
嵌入式sql:sql写入到C语言程序中
proc编程头文件路径
app\xxx\product\
11.2.
0\dbhome_1\precomp\
public
proc编程要注意proc编译器也会使用gcc编译器中的头文件,所以需要在proc编译器中进行配置,加上系统的头文件路径
配置文件路径是:app\xxx\product\11.2.
0\dbhome_1\precomp\admin\pcscfg.cfg
proc开发流程
1.proc工具预编译 *.pc==>
.c
proc编译选项:parse=full|none(
default full
for C,others
for c++) code=ANSI_C|CPP(
default ansi_c)
C语言编译:proc 源文件 生成文件
c++编译:proc 源文件 生成文件 parse=none code=
cpp
2.linux下编译gcc -o dm01_hello dm01_hello.c -I/home/oracle_11/app/oracle/product/
11.2.
0/db_1/precomp/
public -L/home/oracle_11/app/oracle/product/
11.2.
0/db_1/lib -
lclntsh
--
linux查看oracle错误码:oerr ora 错误码
3.执行应用程序
proc程序结构
include 头文件(c/c++ and pro*c/c++
)
定义变量
定义函数
main
连接数据库:connect
SQL操作语句:EXEC SQL...
处理异常:exception handler
断开连接:EXEC SQL COMMIT.ROLLBACK WORK release
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sqlca.h"
//先定义宿主变量(SQL变量)
EXEC SQL BEGIN DECLARE SECTION;
char * serverid="scott/123456";
EXEC SQL END DECLARE SECTION;
void main()
{
int ret=0;
//C语言中使用宿主变量
printf("serverid=%s\r\n",serverid);
//连接数据库
EXEC SQL connect:serverid;
if(sqlca.sqlcode!=0)
{
ret=sqlca.sqlcode;
printf("connect err :%d",ret);
system("pause");
}
printf("connect ok!\r\n");
//提交事务断开连接
EXEC SQL commit release;
printf("Oracle closed !\r\n");
system("pause");
}
数据库 Proc编程一
标签:-o 选项 gcc llb void 文件 ring ansi char