如何vba连接oracle

要求用vba链接oracle数据库,并且执行存储过程(plsql),希望高手指教。... 要求用vba链接oracle数据库,并且执行存储过程(plsql),希望高手指教。 展开
 我来答
夫敌皮皮乌
推荐于2016-05-12 · TA获得超过148个赞
知道答主
回答量:323
采纳率:0%
帮助的人:115万
展开全部
VBA连接oracle数据库

小 'システム共通変数
Public ORA_SE As Object 'Oracleのセッションオブジェクト
Public ORA_DB As Object 'Oracleの接続オブジェクト

'******************************************************************************
' プロシージャ名 : Ora_Connect
' 概要 : Oracle接続
' パラメータ : なし
' 说明 :Oracleへの接続を行う
'******************************************************************************
'Public Sub Ora_Connect()
Public Function Ora_Connect()
Dim rt As Integer
On Error GoTo err
Set ORA_SE = CreateObject("OracleInProcServer.XOraSession")

'Set ORA_DB = ORA_SE.OpenDatabase("数据库连接词", "用户名/密码", 0&)
Set ORA_DB = ORA_SE.OpenDatabase("combcm", "combcm/combcm", 0&)

Exit Function
err:
End Function

'******************************************************************************
' プロシージャ名 : Ora_DisConnect
' 概要 : Oracle切断
' パラメータ : なし
' 说明 : Oracleの切断を行う
'******************************************************************************
'Public Sub Ora_DisConnect()
Public Function Ora_DisConnect()
Set ORA_SE = Nothing
Set ORA_DB = Nothing
End Function

Public Function getData()

'该当なし
If OraDynaset.EOF = True Then
Set OraDynaset = Nothing
Exit Function
Else
'2004/03/06 add rec_cntを2して2行目から书き出す
'rec_cnt = 2

'Do While Not OraDynaset.EOF
'For row_cnt = 0 To OraDynaset.Fields.Count - 1
' Cells(rec_cnt, row_cnt + 1).Value = OraDynaset(row_cnt).Value
'Next row_cnt

'2004/11/26 クリップボードを介した方法でスピードアップ対応。

'从数据库中取出数据
OraDynaset.CopyToClipboard
Cells(2, 1).Select
ActiveSheet.Paste

rec_cnt = OraDynaset.RecordCount
'OraDynaset.DbMoveNext
'rec_cnt = rec_cnt + 1
'Loop
End If

end function

参考资料: http://rejoinsam.blog.163.com/blog/static/104771520080101433561/

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式