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

怎样设置excel可以使用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

Sub GetData()

Dim SQL_String As String
Dim dbConnectStr As String
Set con = New ADODB.Connection
Set recset = New ADODB.Recordset
Dim recordCount As Long
dbConnectStr = "Provider=msra;Data Source=" & "Oracle_Database_Name;"

User Id=userId" & "; Password=" & "password"
'The statement above has been commented out. I use the statement below to prompt the user for the userId and password - which is what I prefer!

con.ConnectionString = dbConnectStr
con.Properties("Prompt") = adPromptAlways
con.Open dbConnectStr 'ConnectionString

'This is an example SQL code that you might want to run
'Select * From MyTable

'SQL_String = "Select count(*) from adm_user"
recset.Open SQL_String, con
recset.MoveLast
recordCount = recset.recordCount
recset.MoveFirst
Do While Not recset.EOF = True
'Have a loop here to go through all the fields
recset.MoveNext
Loop
recset.Close
End Sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大头贴在红米上咋设置? [高分悬赏]数学系毕业生进地税局或银行 ...共同的群聊我是在个人中拍了拍他的图像对方会有显示吗? 北京钰蚨餐饮有限公司怎么样? ...先调质HB220-270 后表面高频处理HRC40-45 采用自回火 这样可以吗... 微信发语音怎样才不震动 女朋友跟我说处对象感觉心累,但是并不是要跟我分手,我该怎么做?_百度... ...户口夫妻分居政策中要求一年外地社保,我是婚前交的社保有用吗... 社保调档后还没交钱能调回来吗 400度的近视眼可以手术治疗吗 我的华为手机,相机停用,图库停用了,怎么办? 电脑显示器22英寸,显卡1060,为什么不支持1080p分辨率? 22寸显示器1080p情况下的亮度和对比度调多少最适宜? 22寸的显示器分辨率1680*1080能否支持1080P点对点全高清 求推荐两款护眼的显示器!!!(电脑)22寸(1080的)和27寸2k的价位在两千内!!!满意高悬赏 22寸LCD看1080P效果好吗? 为什么我22寸显示器不能1080 普通22寸显示器(1680*1050)看1080P会怎么样? 22寸显示器上看720p和1080p有区别么? 22寸显示器不支持1080P分辨率,看高清会有黑边? 我的液晶显示器22寸1080P的显示屏被打烂了,能换屏吗? 22寸液晶下1080P合适吧? 八子开头的成语 骨传导耳机和普通的耳机有什么不一样? 有人用过VLIKE骨传导助听器吗?声音清晰吗?有没有杂音? 八字开头四字成语 以八字开头四字词语 外界环境嘈杂时听不见耳机里的声音,骨传导耳机会好一点吗 骨传导的耳机一般价位多少?299元的可靠吗?怎么辨别是不是骨传导的耳机? “八拜之交”是哪八拜呢? 手机版腾讯文档在线表格怎么设置横屏 一个男生一直经常跟着你换头像是什么意思? 他一直跟着我微信换头像和背景频率更换头像和背景,但是一直不理我,是什么意思?是我想多了吗? 男的跟着我换头像后屏蔽了我,我很伤心呀,为什么他这样对我? 之前暗恋的男生总是频繁的去看他资料,突然发现我换头像他就跟着换。。我想多决定下次换头像看他啥反应。 平时她都没怎么主动联系我,今天她看到我换头像了,她也跟这换头像,这是为什么呢? 如果你换了一个头像,有个男的也跟着换了头像说明什么?? 现在别人用我的照片做头像,微信名也和我改成一样的!我换头像,换微信名,她也跟着换,我该怎么办! 一个男生为什么看到女孩把头像换了,男生也把头像换了? 手机微信被拉黑怎么对方更换头像也会跟着变? 民生信用卡标白卡年费多钱 民生银行白金信用卡年费是多少 民生银行香格里拉白金卡年费是多少 民生银行车卡标白金卡的年费是多少 民生信用卡年费多少钱? 苹果手机接图片的文件夹在哪里? 抖音上趣味心理学的视频怎么做的(趣味心理学是一个网红)? 抖音上能测自己心里想的人的游戏是什么? 抖音里面怎么测你在异性心里是什么样的?我在异性心里是什么样的? 抖音上的读心术是怎么回事? ,,