ExcelVBA连接Oracle

VBA连接Oracle需要添加引用:

之后,连接字符串为:Provider = MSDAORA.1;Password=******;User ID=XXXXXXX;Data Source=DBID;Persist Security Info=True

然后使用ado的标准封装使用即可,1、使用ADO.CONNECTION,打开连接,2、使用ADO.RECODESET查询DB,使用connection.Excute执行更新删除等操作。

具体代码如下:

Public Sub ConOra()Dim sht As Worksheet
    Set sht = ActiveSheet
    On Error GoTo ErrMsg:
    ‘连接串
    Dim ConnDB As ADODB.Connection
    Set ConnDB = New ADODB.Connection

    Dim ConnStr As String
    ‘ 结果集
    Dim DBRst As ADODB.Recordset
    Set DBRst = New ADODB.Recordset
    ‘SQL文
    Dim SQLRst As String

    Dim OraOpen As Boolean
    OraOpen = False
    ‘Oracle数据库的相关配置
    ConnStr = getConnStr()
    ‘ ConnDB.CursorLocation = adUseServer
    ConnDB.Open ConnStr
    ConnDB.Execute ("select * from dual")
    OraOpen = True ‘成功执行后,数据库即被打开
    ‘MsgBox "Connect to the oracle database Successful!", vbInformation, "Connect Successful"
    ‘DBRst.ActiveConnection = ConnDB
    ‘DBRst.CursorLocation = adUseServer
    ‘DBRst.LockType = adLockBatchOptimistic

    SQLRst = "Select * From " & getTableName() & " where rownum = 1 "

    ‘DBRst.Open SQLRst, ConnDB, adOpenStatic, adLockBatchOptimistic
    DBRst.Open SQLRst, ConnDB

查询之后,对于RecordSet 的使用:

1、获取列名:

    For i = 1 To DBRst.Fields.Count
        sht.Cells(2, i) = DBRst.Fields(i - 1).Name
    Next

2、获取值:

    Do Until DBRst.EOF
        For i = 1 To DBRst.Fields.Count
            sht.Cells(4, i) = DBRst.Fields(i - 1).Value
        Next i
        DBRst.MoveNext
    Loop

3、判断RecordSet是否为空:

    If DBRst.BOF And DBRst.EOF Then
        MsgBox "数据库中未查询出任何数据,请将做成的数据写入第4行!", vbInformation, "提示"
    End If

4、记得关闭连接哟。

5、如果按照以上方法,仍无无法连接DB,并提示:连接无法打开,这是因为Office的安装目录中包含(86)导致的,重新按照OFFICE到其他非program文件夹下即可解决。

时间: 2024-08-29 12:54:58

ExcelVBA连接Oracle的相关文章

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

安装 sqldeveloper连接oracle

安装 sqldeveloper连接oracle ----(此安装方法一直在windoxs32bit中进行) 已上传 http://down.51cto.com/data/2213695 安装sqldeveloer前提是安装java 并设置好环境变量 1.下载sqldeveloper  .解压sqldeveloper http://pan.baidu.com/s/1pJUqJ0n 2.双击sqldeveloper.exe   3.选择安装java中的jdk的文件夹 一直点击 是或者下一步 4.新建

Navicat for Oracle 连接 Oracle 11G 操作流程

Navicat for Oracle 连接 Oracle 11G 操作流程 1 更改Oracle配置文件 在安装完Oracle 11g之后,需要更改C:\Oracle安装基目录\product\11.2.0\dbhome_1\NETWORK\ADMIN下的listener.ora和tnsnames.ora两个文件.记得,要先将这两个文件备份.然后参考下图,将每个文件中的localhost改为Oracle安装计算机的计算机名. 最后,在Windows的运行中,输入services.msc,进入系统

powerdesiger连接oracle问题之一二

Java Exception : Fatal Error. Unable to initialize DatabaseMetaData class. Non SQL Error : Could not load class com.mysql.jdbc.D 在powerdesigner里连接数据库,出现如下问题: Java Exception : Fatal Error. Unable to initialize DatabaseMetaData class. Non SQL Error : C

Kettle连接Oracle 12c

安装Oracle我用的是Win10 64位,官网下载64位 Oracle 12c,两个文件.解压第一个文件之后安装,但是安装到一半错误,提示缺失文件.后来发现原来两个文件要单独解压,解压后根据目录合并在一起.再次安装,安装到88%卡住不动了.我以为安装又失败了,就关了,但是发现可以用,就这么用吧. 创建用户Oracle数据库分为CDB和PDB,他们之间的关系,想了解可以查相关资料,不在此详述.简单来说CDB是一个数据库容器,PDB是可插拔数据库.默认登陆为CDB,只能创建COMMON用户.COM

JavaWeb连接oracle数据库

javaWEB项目与普通java项目在连接oracle数据库上似乎略有不同. 普通java项目直接将ojdbc.jar构建路径即可: 而javaweb项目却可能并不能运行,需要再设置一下: 项目名上右键点击→属性→Deployment Assembly→Add→java Build Path Entries →ojdbc.jar,最后确定,重新运行项目. package dal; import java.sql.Connection; import java.sql.DriverManager;

PLSQL Develope连接oracle数据库配置

首先我们在讲PLSQL Develope连接oracle数据库配置之前,先讲下如果不用PLSQL Develope连接oracle数据库,那该怎么办,那就是在本机安装oracle数据库,不过这个对于配置渣的笔记本来说是个挑战,而且界面长时间不操作就会卡死,只能强制关闭,用起来非常不方便,如果笔记本配置高,且不想费力用PLSQL,那可以考虑直接安装oracle客户端. 下面我们来看看如何用PLSQ连接oracle. 1.自行百度下载plsql客户端,个人比较喜欢从CSDN上下载,你们随意.下载好后

如何用PL/SQL Developer连接Oracle数据库

之前因为项目的原因需要使用Oracle数据库,由于时间有限没办法从基础开始学习,而且oracle操作的命令界面又太不友好,于是就找到了PL/SQL Developer这个很好用的软件来间接使用数据库. 下面简单介绍一下如何用这个软件连接Oracle数据库. 第一步 安装Oracle Database和PL/SQL Developer 这一步网上有很多的教程就不详细介绍.Oracle可以直接到官网去下载,在安装中注意几个问题就行: 1.一定要记住自己全局数据库名字和口令,这个在后面连接的时候很重要

python连接oracle配置

环境: 操作系统:win7 64位,CPU是inter的pc机 Oracle服务端:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production Oracle本地客户端:Release 11.2.0.1.0  32bit Production Python版本:python2.7.5 (安装路径:C:\Python27\) cx_Oracle版本:cx_Oracle-5.2.1-11g.win-amd64