服务器之家

服务器之家 > 正文

Excel VBA连接并操作Oracle

时间:2019-11-06 13:29     来源/作者: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”被勾选上。 
  建立连接过程,代码如下: 

复制代码代码如下:


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下测试通过.

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
返回顶部