转贴plcjs.技.术_网
P.L.C.技.术.网——可编程控制器技术门户
摘要 本文介绍了使用Pro*C/C++在Visual C++环境下开发ORACLE数据库接口程序的方法。WWW_P※LCJS_CO※M-PLC-技-.术_网
关键词 程序设计,数据库接口程序,ORACLEWWW.PLCJS.COM——可编程控制器技术门户
P.L.C.技.术.网——可编程控制器技术门户
WWW_P※LCJS_CO※M-PLC-技-.术_网
plcjs.技.术_网
1 概述WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
在Visual C++下开发ORACLE库接口主要有两种方法。一种方法是利用Visual C++提供的多种数据库访问技术,如开放数据库连接ODBC、数据存取对象DAO、对象连接和嵌入数据库OLE DB和ActiveX数据对象ADO等。另一种方法是在Visual C++中嵌入SQL语句,这就是所指的Pro*C/C++(本文简称PROC)。前一种方法由于有MFC 强大的类库支持,熟悉VC编程时则实现方便,且可移植性强;但是,与PROC 相比,应用程序需要经过两层才能和数据库通信接口建立联系,编程相对复杂,执行效率相对较低。PROC支持嵌入式PL/SQL 块等直接调用ORACLE 库,将过程化语言和非过程化语言相结合,形成一种更强的开发工具,可开发出满足各种复杂要求的优化应用程序,执行效率高。适合熟悉ORACLE技术的人员应用。但是用PROC 开发出的应用程序无法向异构数据库平台移植。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
本文详细描述实际利用PROC在Visual C++环境下开发ORACLE数据库接口程序的方法和具体操作步骤,并给出了编程实例。叙述以Visual C++ 6.0版和ORACLE8i版为例,其他版本可根据实际情况变更。WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
2 开发用到的特殊文件WWcW_PLCJS_COM-PLC-技.术_网
PROC在VC下开发ORACLE库接口时,需要用到几个特殊文件。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
2.1 PROC的可执行文件PROCUI. EXEWWW_PL※CJS_COM-PLC-技.术_网
用ORACLE_HOME代表ORACLE安装后的根目录,当其以缺省方式安装在计算机的D盘时,则ORACLE_HOME位置是D: \ Oracle。这时PROC的可执行文件在ORACLE_HOME \ Ora81 \ BIN \ PROCUI. EXE,对缺省安装即在D: \ Oracle \ Ora81 \ BIN \ PROCUI. EXE。WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
2.2 ORACLE支持SQL在VC环境的库文件OraSQL8. LIBWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
根据以上约定,OraSQL8. LIB文件在ORACLE_HOME \ Ora81 \ PRECOMP \ LIB \ MSVC \ OraSQL8.LIB,对缺省安装即在D: \ Oracle \ Ora81 \ PRECOMP \ LIB \ MSVC \ OraSQL8.LIB。WWW_PLCJS@_COM%-PLC-技.术_网
2.3 ORACLE支持SQL在VC环境的头文件 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
根据以上约定,头文件 *.h在ORACLE_HOME \ Ora81 \ PRECOMP \ PUBLIC \ *.h,对缺省安装即在D: \ Oracle \ Ora81 \ PRECOMP \ PUBLIC \ *.h。WWW_P※LCJS_COM-PLC-)技.术_网
*.h 是头文件的总称,通常有十多个,具体内容可在指定路径下查到。WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW.PLCJS.COM——可编程控制器技术门户
3 将PROC集成到VC环境中[2]WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
为了方便完成用PROC在VC下开发ORACLE库接口,通常将PROC集成到Visual C++ 6.0 环境中,直接在C / C++环境中使用PROC预编译器来预编译应用程序,然后进行编译和链接,最终生成可执行程序。将PROC集成到VC环境中应完成如下工作。WWW_P※LCJS_CO※M-PLC-技-.术_网
3.1 增加PROC到Tools菜单列表——可——编——程——控-制-器-技——术——门——户
a) 运行Microsoft Visual C++ 6.0;plcjs.技.术_网
b) 从菜单项Tools中选择Customize项。为表述简单起见,书写成如下格式:菜单Tools/ Customize 项。以下采用类似的表达方法。此时出现Customize对话框;WWW_PLCJS@_COM%-PLC-技.术_网
c) 单击Tools选项卡(或属性页),用鼠标移动“Menu contents”框滚动条到底部区域;WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
d) 双击点划线矩形区域,在空白区域上输入“PROC”,然后按回车键;WWW_PL※CJS_COM-PLC-技.术_网
e) 在“Command”框中,输入PROC的可执行文件名。根据2.1节的说明,对缺省安装即输入D: \ Oracle \ Ora81 \ BIN \ PROCUI. EXE;WWW_PLCJS@_COM%-PLC-技.术_网
f) 在“Arguments”框中输入“$(TargetName)”。其作用在从菜单Tools中选择PROC项时,VC会将当前项目名传递给PROC,尔后PROC会直接打开该项目文件目录下扩展名为 .pre的同名文件;WWcW_PLCJS_COM-PLC-技.术_网
g) 在“Initial directory”框中输入“$(WkspDir)” / 单击“Close”按钮,完成将PROC集成到VC环境中的工作。WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
3.2 指定头文件路径WWW_PLCJS_COM-PLC-技.术_网
为了确保VC顺利完成编译链接,需要将ORACLE提供的头文件增加到VC环境中。指定头文件路径的具体步骤如下。P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
a) 菜单Tools / Options项,出现“Options”对话框;WWcW_PLCJS_COM-PLC-技.术_网