当前位置: 首页 > 图文教程 > 数据库 > Oracle > Excel VBA连接并操作Oracle

Oracle
教你应对Oracle检索数据的一致性以及回滚数据
美国家庭影院频道成功实施Oracle套件
Oracle学习教程
利用oracle外部表查看报警信息
合理设置临时表空间确保Oracle数据库正常运行
Oracle数据库如何处理临时数据?
ORACLE报警日志如何查看?
Oracle教程:如误添加数据文件如何删
Oracle10gR2上遇到了Mutex竞争的问题
Oracle教程:讲述表与表见得连接
Oracle教程:修改初始化参数
Oracle教程:工具kfod的使用
Oracle数据库是如何进制转换的
两种方法来组织Oracle数据库中的数据
Oracle教程:如何将数据文件移到新区
三要素助你在Oracle中创建索引
如何将各种数据库连接起来?
Oracle数据库导入外部数据如何实现
Oracle数据库的输出方法调试
Oracle教程:数据的复制

Excel VBA连接并操作Oracle


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 63 ::
收藏到网摘: n/a

Excel通过ADO方式连接到Oracle并操作Oracle给我们这些编程能力不强的人带来很大的福音,结合着Excel的数据处理与图表制作,就能很轻松地处理一些常规工作。 以下是通过Excel 的VBA连接Oracle并操作Oracle相关数据的示例
Excel 通过VBA连接数据库需要安装相应的Oracle客户端工具并引用ADO的相关组件,引用ADO相关组件可按如下步骤操作:
  1、打开VBA编辑器,在菜单中点选“工具”,“引用”;
  2、确保“Microsoft ActiviteX Data Objects 2.8 Library”和“Microsoft ActiviteX Data ObjectS Recordset 2.8 Library”被勾选上。
  建立连接过程,代码如下:
复制代码 代码如下:

Public Sub ConOra()
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
Dim SQLRst As String
Dim OraOpen As Boolean
OraOpen = False
OraID="Orcl" 'Oracle数据库的相关配置
OraUsr="user"
OraPwd="password"
ConnStr = "Provider = MSDAORA.1;Password=" & OraPwd & _
";User ID=" & OraUsr & _
";Data Source=" & OraID & _
";Persist Security Info=True"
ConnDB.CursorLocation = adUseServer
ConnDB.Open ConnStr
OraOpen = True '成功执行后,数据库即被打开
'MsgBox "Connect to the oracle database Successful!", vbInformation, "Connect Successful"
DBRst.ActiveConnection = ConnDB
DBRst.CursorLocation = adUseServer
DBRst.LockType = adLockBatchOptimistic
SQLRst = "Select * From TstTab"
DBRst.Open SQLRst, ConnDB, adOpenStatic, adLockBatchOptimistic
DBRst.MoveFirst
Exit Function
ErrMsg:
OraOpen = False
MsgBox "Connect to the oracle database fail ,please check!", vbCritical, "Connect fail!"
End Function
Public Sub ConOra()
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
Dim SQLRst As String
Dim OraOpen As Boolean
OraOpen = False
OraID="Orcl" 'Oracle数据库的相关配置
OraUsr="user"
OraPwd="password"
ConnStr = "Provider = MSDAORA.1;Password=" & OraPwd & _
";User ID=" & OraUsr & _
";Data Source=" & OraID & _
";Persist Security Info=True"
ConnDB.CursorLocation = adUseServer
ConnDB.Open ConnStr
OraOpen = True '成功执行后,数据库即被打开
'MsgBox "Connect to the oracle database Successful!", vbInformation, "Connect Successful"
DBRst.ActiveConnection = ConnDB
DBRst.CursorLocation = adUseServer
DBRst.LockType = adLockBatchOptimistic
SQLRst = "Select * From TstTab"
DBRst.Open SQLRst, ConnDB, adOpenStatic, adLockBatchOptimistic
DBRst.MoveFirst
Exit Function
ErrMsg:
OraOpen = False
MsgBox "Connect to the oracle database fail ,please check!", vbCritical, "Connect fail!"
End Function

可以根据需要调整SQL语句,获取相关数据,并输出到Excel完成数据处理
上述代码在Windows XP SP3/2003 SP2 + Office2003下测试通过.