问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

excel2007用VBA连接oracle数据库失败,报错未找到提供程序,求大神解答

发布网友 发布时间:2022-04-07 23:50

我来回答

2个回答

懂视网 时间:2022-04-08 04:11

Sub ConOra()Dim sht As Worksheet Set sht = ActiveSheet 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 ‘SQL文 Dim SQLRst As String Dim OraOpen As Boolean OraOpen = False ‘Oracle数据库的相关配置 ConnStr = getConnStr() ‘ ConnDB.CursorLocation = adUseServer ConnDB.Open ConnStr ConnDB.Execute ("select * from dual") OraOpen = True ‘成功执行后,数据库即被打开 ‘MsgBox "Connect to the oracle database Successful!", vbInformation, "Connect Successful" ‘DBRst.ActiveConnection = ConnDB ‘DBRst.CursorLocation = adUseServer ‘DBRst.LockType = adLockBatchOptimistic SQLRst = "Select * From " & getTableName() & " where rownum = 1 " ‘DBRst.Open SQLRst, ConnDB, adOpenStatic, adLockBatchOptimistic DBRst.Open SQLRst, ConnDB

查询之后,对于RecordSet 的使用:

1、获取列名:

 For i = 1 To DBRst.Fields.Count
 sht.Cells(2, i) = DBRst.Fields(i - 1).Name
 Next

2、获取值:

 Do Until DBRst.EOF
 For i = 1 To DBRst.Fields.Count
  sht.Cells(4, i) = DBRst.Fields(i - 1).Value
 Next i
 DBRst.MoveNext
 Loop

3、判断RecordSet是否为空:

 If DBRst.BOF And DBRst.EOF Then
 MsgBox "数据库中未查询出任何数据,请将做成的数据写入第4行!", vbInformation, "提示"
 End If

4、记得关闭连接哟。

5、如果按照以上方法,仍无无法连接DB,并提示:连接无法打开,这是因为Office的安装目录中包含(86)导致的,重新按照OFFICE到其他非program文件夹下即可解决。

ExcelVBA连接Oracle

标签:

热心网友 时间:2022-04-08 01:19

连接数据库代码:
Private Sub btn登陆_Click()
Dim conn As New ADODB.Connection
Dim strConn As String
strConn = "Provider=MSDAORA.1; user id="
strConn = strConn & txt用户名.Value
strConn = strConn & "; password=" & txt密码.Value
strConn = strConn & "; data source = " & txt数据库.Value
strConn = strConn & "; Persist Security Info=True"
conn.Open strConn '打开数据库
OraOpen = True
MsgBox "Connect to the oracle database Successful!", vbInformation, "Connect Successful"
Exit Sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
沈阳到哪需要四个火小时呢?辽宁本省内 安全员能上正在搭设的外架吗 壁挂炉取暖的日费用是多少? 用壁挂炉取暖一天需要多少钱 海淀民政局周六日休息吗 漳州荔枝海公园内有近3万株荔枝树,枝繁叶茂、翠绿欲滴,有乌叶、兰竹... 永茂荔枝花园楼盘概况 外甥女的生日红包应该多少合适? 挂车爆胎轮胎放外面轮毂放里面为什么? 刷完白球鞋晒干上面有黄色的“污渍”,怎样才能不出现这种情况 婚礼上新郎父亲该怎么发言呢? ​面对听不得批评的孩子,需要哪些技巧批评才有用? 关于企业如何走向正规化 演讲稿 我是演说家赖佩霞的演讲稿 寻求没有检查就没有执行力的演讲稿!!或者是小故事! 能发一份曾仕强先生《情绪管理》的演讲稿给我吗,谢谢啦 特易发言稿 速求曾仕强先生情绪管理演讲稿 情商决定成败演讲稿 360ssp财务审核通过后,添加应用:请准确填写该APP在主流应用市场中的详情介绍页! 请问这个怎么 添加? 怎么改密码啊?急!急! 请问一下这个密码怎么更改? 修改密码怎么改? 安桥TX-NR616攻放风扇不转,求助!!! 安桥功放机TX-NR818∪盘播放带记忆功能吗?wav能播放? 家庭型功放机哪种类型最好? 怎样使用安桥TX NR818功放机 安桥TX-NR818怎样把低音设置在主音箱? 安桥nr 905功放实际输出功率是多少 请问旅游日本购物买安桥NR838功放折合人民币多少钱?能带回国吗还有其它费用吗? 别有( )() 补充成语 除了别有深意 形容情调的成语有那哪些? 成语“别()风() 别有风趣算四字词吗? 有关趣味的成语 大家有知道NGA为什么叫泥潭吗?求解答 XX风X(成语) 别有风趣的近义词是什么 fgo的材料需要刷吗 形容风的修饰词 ()风()()的成语 ...这种六宫格或九宫格翻照片小视频是用什么软件制作的... 有哪些男主话唠糙汉接地气的古言小说值得推荐? 朋友圈视频和图片拼图,大家知道用的是什么软件吗,哪个软件好用吗? 朝花夕拾之无常之15个词语 找出一些描述风力的词句吗? 魔兽世界里尘泥沼泽那的"黑色盾牌"那个任务的最后结局是什么? 找小说,男主是军人糙汉,女主大学生很娇气,两家世交,小时候见过一面长大后重逢,肉好像还挺多的? WOW采药1-375的全程攻略! 形容天气极差的成语