Excel VBA连接并操作Oracle
前端之家收集整理的这篇文章主要介绍了
Excel VBA连接并操作Oracle,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下是通过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”被勾选上。
建立连接过程,代码如下:
<div class="codetitle"><a style="CURSOR: pointer" data="71322" class="copybut" id="copybut71322" onclick="doCopy('code71322')"> 代码如下:
<div class="codebody" id="code71322">
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 '成功执行后,
数据库即被打开
'Msg
Box "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
Msg
Box "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 '成功执行后,
数据库即被打开
'Msg
Box "Connect to the oracle database Successful!","Connect fail!"
End Function
在Windows XP SP3/2003 SP2 + Office2003下测试通过.