excel VBA 连数据库 oracle

excel VBA 连数据库 oracle,第1张

Sub connect_数据()

Dim strconnt As String

Set connt = New ADODB.Connection

Dim rs As Object

Set rs = New ADODB.Recordset

Dim sevip, Db, user, pwd As String

'设服务器地址、所连数据,及登录用户密码

sevip = "****"

Db = "****"

user = "****"

pwd = "****"

strconnt = "DRIVER={Microsoft ODBC for Oracle}Password=appsUser ID=appsData Source=demo" '

connt.ConnectionString = strconnt

connt.Open

End Sub

1、把开excel,点击工具-->宏-->录制新宏 2、点击 数据-->导入外部数据-->新建数据库查询,然后根据向导选择oracle驱动,最后完成向导 3、点停止宏,再点 工具-->宏-->宏... 在对话框里选择刚才录制的宏,点编辑, 这样就可以看到连接字符串了。

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://outofmemory.cn/sjk/6701644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存