oracle 简版客户端instantclient使用 oledb ODAC组件使用

背景

Oracle 安装时往往文件太大,开发环境安装到还可以,生产环境安装就没必要了。之前我总是安装的 instantclient 简版oracle客户端,今天之前写的Excel VBA 宏程序要以OLEDB方式调用Oracle,发现简版客户端不存在OLEDB组件。匆匆找寻了一天终于找到解决方法,那就是安装Oracle ODAC组件即可。

ODAC(Oracle Data Access Components)
Oracle数据访问组件ODAC(Oracle Data Access Components)顾名思义就是用来访问Oracle数据库的小程序。我们可以编程调用这些组件来实现在没有安装Oracle数据库软件的电脑上完成对Oracle数据库的访问。

安装步骤

步骤1. 下载ODAC安装包

  • 到Oracle官方网站下载ODAC安装包。在网页上找到你要的版本。我下载的是:
    64-bit ODAC 11.2 Release 6 (11.2.0.4.0) Xcopy for Windows x64
    下载下来的安装包名为:
    ODAC112040Xcopy_64bit.zip
    ODAC112040Xcopy_32bit.zip

    32位的安装 也同理

步骤2. 解压缩

  • 解压缩这个zip包,把里面的文件都解压到一个文件夹里,我是解压到D:\ODAC112040Xcopy_64bit,然后打开cmd,进入到这个文件夹。

    这个文件夹里有8个子文件夹,分别是:

    instantclient_11_2:这是Oracle客户端,所有组件的运行都依赖于这个客户端;

    oledb:这是OLE DB组件

    asp.net:这是ASP.NET2组件

    asp.net4:这是ASP.NET4组件

    odp.net4:这是.NET4组件

    odp.net20:这是.NET2组件

    oramts:这是Oracle的MTS服务

    network:这个文件夹不用管,它是用来存放tnsnames.ora文件的,要安装后才能用。

在这里插入图片描述

  • 这里我们需要搞清楚这些组件之间的依赖关系。

    instantclient_11_2是最基础的

    oledb依赖于instantclient_11_2

    asp.net依赖于instantclient_11_2和odp.net20

    asp.net4依赖于instantclient_11_2和odp.net4

    odp.net4依赖于instantclient_11_2

    odp.net20依赖于instantclient_11_2

    oramts依赖于instantclient_11_2

步骤3. 安装ODAC包

在这里插入图片描述

  • 在cmd中运行install.bat批处理文件:输入"install.bat all D:\OracleClient ODAC"(不含双引号)。这里有几个参数需要特别注意,这里我们传入了三个参数,但最多可以传入四个。

  • 第一个参数:all。all代表安装ODAC112040Xcopy_64bit文件夹下所有的组件和客户端。如果你不需要这么多组件,只用到其中一个,比如只用到了OLE DB组件,就可以像下面这样只安装客户端和这一个OLE DB组件:

    install.bat oledb D:\OracleClient ODAC
    
  • 第二个参数:D:\OracleClient。这是安装路径,根据自己的实际情况指定,路径中尽量不要有空格和圆括号。

  • 第三个参数:ODAC。这个叫ORACLE HOME NAME,这个参数也可以自己随便指定一个字符串,不一定非得是"ODAC"。这个参数是用来写入注册表的。比如,上面这条语句执行后,会在注册表的以下位置写入:

    HKLM\Software\Oracle\KEY_ODAC

    这"KEY_“后面的ODAC就是你在参数中传入的那个"ODAC”

  • 第四个参数。一般只用前三个参数就够了,在安装组件的时候会自动把它依赖的组件都安装上,但如果你只想安装指定的组件,不想装它所依赖的组件,这时才会用到第四个参数。比如:当你安装asp.net时,如果只用前三个参数,会自动把它所依赖的odp.net20和instantclient_11_2也安装上,但如果你再传入第四个参数"false",如下:

    install.bat asp.net D:\OracleClient ODAC false

    这时就只会安装asp.net,而不会把odp.net20和instantclient_11_2也装上。

步骤4. 设置环境变量

  1. ORACLE_HOME=D:\OracleClient

    (添加一个环境变量ORACLE_HOME,其值为你的安装路径,比如我这里就是D:\OracleClient)

  2. PATH=%ORACLE_HOME%;%ORACLE_HOME%\bin;

    (在PATH环境变量中添加下面两个路径,用分号隔开:

    %ORACLE_HOME%;%ORACLE_HOME%\bin;)

    END

步骤5. 根据需要配置tnsnames.ora文件

  • 如果要用组件访问Oracle数据库,那么就要根据需要配置tnsnames.ora文件,并存放于%ORACLE_HOME%\network\admin目录下。

    tnsnames.ora文件格式如下,供参考:

    ORCL = #本地服务名,供程序或IDE调用
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.26.231)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = ora) #oracle 服务器端实例名,根据实际情况修改
    )
    )

卸载ODAC的方法

  1. 用cmd进入到ODAC的安装路径下,然后运行该路径下的uninstall.bat批处理文件。这里也是要注意参数的运用。

    ================================================
    若要卸载掉所有组件,可以这样:
    uninstall.bat all ODAC
    或者
    uninstall.bat all D:\OracleClient

    ================================================
    若要卸载掉某一个指定的组件,可以这样:
    uninstall.bat oledb ODAC
    或者
    uninstall.bat oledb D:\OracleClient

  2. 手动删除掉安装目录,并把之前添加的环境变量也一并删除即可

注意事项

  • install.bat和uninstall.bat两个批处理文件会在安装目录下分别产生install.log和uninstall.log两个日志文件。

OK,完成了!如果大家喜欢我的文章可以收藏支持!

  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB中使用OLEDB(Object Linking and Embedding Database)来连接和操作数据库。 在使用VB连接数据库时,需要使用OLEDB数据提供程序来创建连接对象,然后使用该对象来操作数据库。 首先,我们需要引用OLEDB数据提供程序。在VB项目中,可以通过在工具栏上的“项目”选项中选择“引用”来添加对OLEDB数据提供程序的引用。 接下来,我们可以在代码中声明和使用OLEDB连接对象。使用以下语句来创建一个OLEDB连接对象: Dim conn As New OleDbConnection() 然后,我们可以使用ConnectionString属性来指定要连接的数据库和其他必要的信息。例如,如果要连接到一个名为"MyDatabase.accdb"的Microsoft Access数据库文件,可以使用以下语句: conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=MyDatabase.accdb" 然后,我们可以调用Open方法来打开与数据库的连接: conn.Open() 接下来,我们可以使用连接对象来执行各种操作,例如执行SQL查询、插入、更新或删除数据。例如,如果要执行一个查询并返回结果集,可以使用以下语句: Dim cmd As New OleDbCommand("SELECT * FROM TableName", conn) Dim reader As OleDbDataReader = cmd.ExecuteReader() 在读取完结果集后,可以使用以下语句关闭连接: conn.Close() 总而言之,通过使用VB中的OLEDB数据提供程序,我们可以轻松连接和操作各种类型的数据库,如Microsoft Access、MySQL、Oracle等。使用OLEDB,我们可以执行各种数据库操作,从而实现数据的存储、检索和更新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值