VC下利用Pro*C开发Oracle接口
本文介绍了使用Pro*C/C++在Visual
C++环境下开发Oracle数据库接口程序的方法
设计思路其实这样:首先通过VC建立一个工程,自动化建立MAKEFILE,UNIX需要自己写MAKEFILE。
其次配置VC的环境,将PROC的.H,.LIB的路径加入DERECTIRY。写一个PC文件,即PROC文件。放到工程相应的目录下。然后把PC文件加入工程。使用PROCUI.EXE编译成C源文件。
选择OraSQL8.LIB文件,单击“打开”钮,完成将运行库文件加入工程。
最后把C文件加入工程。
概述
在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
开发出的应用程序无法向异构数据库平台移植。
本文详细描述实际利用PROC在Visual C++环境下开发Oracle数据库接口程序的方法和具体操作步骤,并给出了编程实例。叙述以Visual
C++ 6.0版和Oracle8i版为例,其他版本可根据实际情况变更。
几个特殊文件
PROC在VC下开发Oracle库接口时,需要用到几个特殊文件。
1、PROC的可执行文件PROCUI.
EXE
用Oracle_HOME代表Oracle安装后的根目录,当其以缺省方式安装在计算机的D盘时,则Oracle_HOME位置是D: \
Oracle。这时PROC的可执行文件在Oracle_HOME \ Ora81 \ BIN \ PROCUI. EXE,对缺省安装即在D: \ Oracle \
Ora81 \ BIN \ PROCUI. EXE。
2、Oracle支持SQL在VC环境的库文件OraSQL8.
LIB
根据以上约定,OraSQL8. LIB文件在Oracle_HOME \ Ora81 \ PRECOMP \ LIB \ MSVC \
OraSQL8.LIB,对缺省安装即在D: \ Oracle \ Ora81 \ PRECOMP \ LIB \ MSVC \
OraSQL8.LIB。
3、Oracle支持SQL在VC环境的头文件
根据以上约定,头文件 *.h在Oracle_HOME \ Ora81
\ PRECOMP \ PUBLIC \ *.h,对缺省安
相关文档:
Oracle将表授权给用户的命令
命令:grant xxx权限 on TableA to USERA
grant select,insert,update,delete on 表名 to 用户名
例如:将test表的查询权限赋予solidwang这个用户
grant select on test to solidwang ......
--创建用户
create user iagent identified by ia
profile default
default tablespace users
temporary tablespace temp
account unlock;
--给创建的用户授权
grant create user,drop user,alter user,create any view,drop any view,exp_full_database,imp_full_database,dba,connect,resour ......
oracle
误删除日志文件后的处理方法!
解决方法背景
1
整理c
盘的垃圾文件,吧oralce
的。log
日志文件删除。
2
然后oralce
一直不能使用,提示tns
有问题,
然后再往上找资料,一直没有解决掉,后来看到一边文章如下,问题解决掉了,特和大家分享!
======================================== ......
oracle命令 收藏
1. ORACLE数据库启动与关闭
1.1 打开和关闭数据库 (手工)
1.1.1 sqlplus连接
#su - oracle
#sqlplus /nolog
1.1.2 打开数据库
sql> connect sys/oracle as sysdba;
sql> startup [nomount|mount]
等待十几秒左右,当看到
oracle instances started,
databa ......
#include "windows.h"
void main()
{
MessageBox(NULL, "你好啊!", "提示", MB_OK);
return 0;
}
通过windows.h文件调用windows自带的api函数MessageBox,来完成提示框,效果棒
null表示附属的窗体为空
MB_OK表示对话框的类型 ......