一.为什么要创建oracle oledb最小化安装程序包?
首先,在数据库接口中采用ADO。 理由如下。
1、使用oci开发接口很复杂,更换为mysql等其他数据库时,变化较大
2、采用ODBC时需对操作系统进行额外配置
provider采用OraOLEDB.Oralce的理由如下。
与Microsoft的oracle驱动程序MSDAORA一样,必须安装oracle客户端,并且不支持读取/写入blob和clob类型字段,数据库中的位图缓冲区
二.制作过程
从以下地址下载
oledb for oracle的安装软件包
3358 www.Oracle.com/technology/software/tech/windows/ole _ db/htdocs/utilsoft.htm
如果连接失效,谷歌将搜索“oledb for oracle”
我下载的文件名是ODAC101040.exe,其中除了oledb for oracle以外还有很多东西
但是,您也可以在安装过程中只安装oledb for oralce
安装完成后,提取根目录下的以下子目录:
smdzxc
nls
oracore
如果需要使用tnsnames.ora配置别名,则还必须保留network目录
network目录下只能包含一个管理员子目录
admin子目录只能包含一个tnsnames.ora文件
nls和oracore这两个目录没有仔细考虑哪些是必需的,全部保留下来。
好像是和几种语言、时区相关的配置。
只能在smdzxc目录下保留oracle.key和所有dll文件。 此文件记录注册表中的路径
然后查看OraOLEDB10.dll所依赖的dll并删除其他dll
或者,逐一尝试删除,影响正常使用的dll将恢复。
经过以上步骤,得到的文件只剩下40m多
从注册表(通常为HKLM/software/oracle )导出记录在oracle.key中的路径的节点将另存为oracle.reg文件
三.安装过程
将上述几个目录复制到c:/oracle等文件夹中
将c:/oracle/smdzxc添加到环境变量path
将环境变量nls_lang添加到simplified Chinese _ China.zh s16 gbk以支持中文
将环境变量oracle_home添加到c:/oracle
双击oracle.reg以导入注册表
使用regedit打开注册表,找到与oracle.key中记录的路径相对应的节点
在此,将ORACLE_HOME和OLEDB这两个键值的路径更改为c:/oracle和c:/oracle/oledb/mesg
使用regsvr32注册OraOLEDB10.dll
附录:
存储在smdzxc目录中的文件列表
msvcr71.dll
oracle.key
oraclient10.dll
oracommon10.dll
ORACORE10.DLL
orageneric10.dll
orahasgen10.dll
oraldapclnt10.dll
oran10.dll
ORANCDS10.DLL
orancrypt10.dll
oranhost10.dll
oranl10.dll
oranldap10.dll
ORANLS10.DLL
orannzsbb10.dll
oranro10.dll
orantcp10.dll
orantns10.dll
oraocr10.dll
oraocrb10.dll
OraOLEDB10.dll
OraOLEDB10us.dll
OraOLEDBgmr10.dll
OraOLEDBpus10.dll
OraOLEDBrst10.dll
OraOLEDButl10.dll
ORAPLP10.DLL
ORAPLS10.DLL
ORASLAX10.DLL
ORASNLS10.DLL
ORASQL10.DLL
ORAUNLS10.DLL
orauts.dll
oravsn10.dll
ORAXML10.DLL
为了支持使用oci的程序,例如plsql developer,可以添加以下两个文件
oci.dll
oraociei10.dll
要使用oracle附带的命令行工具sqlplus,请添加以下两个文件
Orasqlplusic10.dll
sqlplus.exe