从VBA访问Oracle数据库

本文介绍了使用VBA直接连接Oracle数据库和通过Oracle Data Access Components (ODAC) 进行访问的两种方法。详细步骤包括设置连接字符串、执行SQL查询以及关闭连接等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



方法1:直接接続する

    Set cnn = CreateObject("ADODB.Connection")
    Set rst = CreateObject("ADODB.Recordset")
    cnn.Open "Provider=msdaora;Data Source=sid;User Id=userid;Password=pwd;"
   
    Set rst = cnn.Execute("select * from tmp")
    '物理名表示
    For j = 0 To rst.Fields.Count - 1
      Cells(9, j + 1) = rst.Fields(j).Name
    Next

    '結果表示
    Range("B10").CopyFromRecordset rst

    cnn.Close

方法2:①Oracle Data Access Components (ODAC) 下载安装→ODTwithODAC112030.zip
    ②接続
    'oo4o用のオブジェクト変数の宣言
      Dim OraSession As Object        'セッション
      Dim OraDatabase As Object       'データベース
      Dim rs As Object                'データセット(レコードセット)
    'セッションオブジェクトの生成
        Set OraSession = CreateObject("OracleInProcServer.XOraSession")
        'oo4oデータベースオブジェクトの生成(DBへUserID:scott、パスワード:tigerで接続)
        Set OraDatabase = OraSession.OpenDatabase("sid", "userid/pwd]", 0&)
        sql_str = "select * from tmp where id ='" + id + "')"
        'oo4oデータセット(レコードセット)の生成(全データを返すレコードセットの生成)
        Set rs = OraDatabase.CreateDynaset(sql_str, 0&)

 'オブジェクトのクローズ
    rs.Close
   
    '各種オブジェクトの開放
    Set rs = Nothing
    Set OraDatabase = Nothing
    Set OraSession = Nothing


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值