电脑技术学习

Oracle开发(一).Windows下配置使用ProC

dn001
草木瓜 一、提要 ;ProC是Oracle数据库提供的开发接口,支持多种语言。ProC虽然调试维护起来十分不便,但是依靠其结构化清楚的嵌入式SQL,也成为了C/C++语言访问控制数据库的常用方式。
本文首先介绍Windows平台下,使用Visual C++ 6.0 和 Visual C++ .Net配置ProC的开发环境。 二、数据库环境 ;确认安装了组件,Oracle - Application Development - Pro C-C++ 。有时在Oracle自带的组件工具中显示已安装,但在文件菜单和文件夹无相应组件,解决方法就是重装。 三、使用示例文件 ;;sqlmain.c (扩展名是无所谓的)
---------------------------------------------- ;;#include "sqlca.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

//显示意外错误
void sql_error(char *msg)
{
printf("n%s %sn", msg,(char *)sqlca.sqlerrm.sqlerrmc);
EXEC SQL ROLLBACK RELEASE;
exit(0);
}

void main() {

EXEC SQL INCLUDE sqlca;
EXEC ORACLE OPTION (RELEASE_CURSOR = YES);
EXEC SQL WHENEVER SQLERROR DO sql_error(" <ERROR> ");

EXEC SQL BEGIN DECLARE SECTION;
VARCHAR oraCN[30];
EXEC SQL END DECLARE SECTION;

strcpy(oraCN.arr,"system/sys@unixdb");
oraCN.len = strlen(oraCN.arr);
oraCN.arr[oraCN.len]='';

EXEC SQL CONNECT :oraCN;
printf("n [OK Connected!] ");

};
使用Pro C-C++编译成C语言文件,成功后会提示绿色的"√":

source.c; (文件比较长,不在此列出) 四、Visual C++ 6.0 ;1.New Project -> Win32 Console Application 即新建一个空控制台项目

2.加入编译后的source.c文件

;3.在 Tools -> Options -> Directories 添加ProC的lib目录和include目录。

本机目录使用如下:

Library Files

E:ORACLEORA92PRECOMPLIB

Include Files

E:ORACLEORA92PRECOMPPUBLIC

4.在 Project -> Settings -> Link 的 Object/Library modules 中添加ProC的链结文件orasql9.lib,VC会在Project Options自动更新。

5.编译运行

输入错误密码提示:
<ERROR>ORA-01017: invalid username/passWord; logon denied
连接成功提示:
[OK Connected!]
五、Visual C++ .Net ;1.新建项目 -> Visual C++ -> Win32 -> 控制台 即新建一个空控制台项目

2.加入编译后的source.c文件

3.工具 -> 选项 -> 项目 -> VC++ 目录 添加ProC的lib目录和include目录。

本机目录使用如下:

库文件

E:ORACLEORA92PRECOMPLIB

头文件

E:ORACLEORA92PRECOMPPUBLIC;

4.选中项目 -> 属性 -> 配置属性 -> 链结器 -> 输入 -> 附加依靠项 添加ProC的链结文件orasql9.lib


5.编译运行

输入错误密码提示:
<ERROR>ORA-01017: invalid username/password; logon denied
连接成功提示:
[OK Connected!]


六、总结 ;本文只是使用了数据库连接的简单例子,具有实际参考意义的例子可参看:
《ProC动态SQL示例(第1,2,3种方法)》
http://blog.csdn.net/liwei_cmg/archive/2006/05/29/759963.ASPx

另外,这方面的教程也很多可以上网搜索一下。在E:oracleora92precompdemoproc也有很多具体实例,十分值得参考,在下文将介绍ProC在Unix/Linux环境下的配置使用。