如何使用VBA宏从SQL开发人员(Oracle)将数据导入MS excel 2010

时间:2016-02-10 04:58:20

标签: excel oracle vba excel-vba

我想使用SQL宏从Oracle开发者(VBA)将数据导入MS excel 2010

我正在使用下面的代码但无法连接到SQL devevloper。收到未找到或未安装提供商的错误。

请帮助。

Sub ImportData()

Sheets("sheet1").Select

With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
    "OLEDB;Provider=MSDAORA.1;User ID=MY_USER;password= MY_PW;Data Source=sourceName", Destination _
    :=Range("$A$1")).QueryTable
    .CommandType = xlCmdSql
    .CommandText = "Select Main.[ID],Main.[Count1] From Main Where Main.[Count1] > 25"
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .PreserveColumnInfo = True
    .Refresh BackgroundQuery:=False
End With

End Sub

1 个答案:

答案 0 :(得分:0)

您能否确认可以从机器中取出数据库?

如果可以,您是否可以确认可以连接到数据库并从sqlplus运行该查询?

它看起来像sqlserver语法?我不完全确定它会在Oracle中运行,我可能错了。

如果一切正常,你能否确认你是否正在运行32 / 64bit oracle? MSDAORA可能需要匹配。

假设以上所有内容都是正确的,那么这些链接可能有所帮助。

http://blog.mclaughlinsoftware.com/microsoft-excel/how-to-query-oracle-from-excel-2007/

https://support.office.com/en-us/article/Connect-to-an-Oracle-database-Power-Query-d7fbd231-a705-4eb7-83b3-a66bfb678395