win7 vba oracle数据库,在Excel中用VBA连接Oracle数据库示例

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 Function ConOra()

'使用函数连接oracle数据库

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 = "system"

OraPwd = "911"

ConnStr = "Provider = MSDAORA.1;Password=" & OraPwd & _

";UserMARGIN: 0cm 0cm 0pt" class=MsoNormal>";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

'向oracle数据库插入数据

ConnDB.Execute ("insert into vendor values('5','匹配')")

'从oracle数据库查询数据

SQLRst = "Select * From vendor"

DBRst.Open SQLRst, ConnDB, adOpenStatic, adLockBatchOptimistic

DBRst.MoveFirst

Sheets("sheet1").Select

Range("A2").Select

ActiveCell.CopyFromRecordset DBRst

Set DBRst = Nothing

Set ConnDB = Nothing

OraOpen = False

Exit Function

ErrMsg:

OraOpen = False

MsgBox "Connect to the oracle database fail ,please check!", vbCritical, "Connect fail!"

End Function

===================================================================================

Public Sub ConOra2()

'使用过程连接oracle数据库

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 = "system"

OraPwd = "911"

ConnStr = "Provider = MSDAORA.1;Password=" & OraPwd & _

";UserMARGIN: 0cm 0cm 0pt" class=MsoNormal>";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 vendor"

DBRst.Open SQLRst, ConnDB, adOpenStatic, adLockBatchOptimistic

DBRst.MoveFirst

Sheets("sheet1").Select

Range("A2").Select

ActiveCell.CopyFromRecordset DBRst

Set DBRst = Nothing

Set ConnDB = Nothing

OraOpen = False

Exit Function

Exit Sub

ErrMsg:

OraOpen = False

MsgBox "Connect to the oracle database fail ,please check!", vbCritical, "Connect fail!"

End Sub

可以根据需要调整SQL语句,获取相关数据,并输出到Excel完成数据处理

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值