4、编译准备
为了使工程能通过编译,需要将预编译输出的工程源文件和Oracle支持SQL在VC环境下的运行库文件加入到工程中,下面具体介绍增加这两个文件的步骤。
1) 将预编译的输出文件加入工程
a) 菜单Project / Add To Project 项 / Files 项;
b) 在文件对话框中选择正确路径(见4.2节和4.3节),选定预编译输出的文件如Exam01.c,单击“打开”按钮,即将预编译输出的工程源文件加入工程。
2) 将运行库文件加入工程
a) 菜单Project / Add To Project 项 / Files 项;
b) 将文件对话框的文件类型改为“所有文件”;
c) 路径选为Oracle_HOME \ Ora81 \ PRECOMP \ LIB \ MSVC;
d) 选择OraSQL8.LIB文件,单击“打开”钮,完成将运行库文件加入工程。
5、编译链接
a) 按F7键或单击编译图标,对工程进行编译链接。如果没有出现错误,则通过编译链接,生成可执行文件如Exam01.exe ;
b) 如果编译链接出现错误,返回到4.2节,选择相应的预编译源文件如Exam01.pc进行修改并保存;然后按4.3节做预编译,预编译通过后,单击OK按钮用新的 .c文件代替原来的C源文件;此时重新按F7键进行编译链接,直到排除所有错误,生成可执行文件如Exam01.exe。
6、运行工程
a) 按Ctrl_F5键或单击执行图标运行工程Exam01.exe。按工程中的提示,逐步正确运行;
b) 如果运行中出现错误,返回到4.2节修改相应预编译源文件,再按4.3节做预编译,按4.5节进行编译链接,生成新的可执行文件,然后重新运行工程,直到正确实现工程的规定任务。
编程举例
1、程序内容
一般SQL嵌入式程序主要有说明、包含头文件、子程序声明、主程序和子程序等部分组成,在主程序中调用有关子程序。必备的子程序通常有连接到数据库子程序、断开数据库子程序、错误处理子程序和完成某项具体事务(如查询、插入、修改、删除等)的工作子程序。
2、程序举例
下面是一完整的可通过预编译、编译链接和运行的示例程序。
/* exam01.pc 开发Oracle接口程序举例 */
/* 说明:本程序介绍用PROC开发Oracle库接口的编程特点。通过向AUTHS
* 表输入作家代码,查询作家姓名及工资。运行前应建表、插入数据并提交。*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
/* 包含SQL通讯区,它用于处理错误。*/
#include <sqlca.h>
void connect(); /* 连接到Oracle Server */
void disconnect(); /* 断开到Oracle Server的连接 */
void sql_error(char *); /* 处理错误句柄 */
void select(); /* 查询子程序 */
extern sqlglm(char *,int *,int *);
/* 主程序 */
void main()
{
/* 安装错误处理句柄 */
EXEC SQL WHENEVER SQLERROR DO sql_error("Oracle错误--\n");
/* 连接到数据库 */
connect();
/* 执行查询 */
select();
/* 断开数据库连接 */
disconnect();
}