从Oracle获取特定数据(查询)到excel

时间:2015-01-27 13:42:46

标签: excel excel-vba oracle11g vba

我想将Oracle数据库中的特定数据(查询)加载到excel中。我能够通过外部连接实现它(Mircosoft数据访问 - 用于Oracle的OLE DB提供程序),但所有表都已加载。这是击中并尝试。我不知道OLE DB是什么。

  1. 是否可以使用该方法加载特定数据。
  2. 如何从VBA加载相同内容,我已经阅读了很多来源,博客但没有一个是清晰和全面的。有人可以解释一下新手。或者向我推荐一些书籍/来源。

1 个答案:

答案 0 :(得分:1)

此功能将使用ADODB连接到Oracle数据库。确保包含Microsoft ActiveX Data Objects 2.8作为参考。如果有管理员权限,您可以配置connectingstring以满足您的需求。

它会将您的数据库存储到变体中。

Function ConToDataBase(DBPath As String) As Variant
Dim Con As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim SQL As String
SQL = "SELECT * FROM TableName"
Set Con = New ADODB.Connection
With Con
.ConnectionString = "Provider=OraOLEDB.Oracle;Data source=" & DBPath & ";UserID=;Password:=;"
.Open
End With
Set Rs = New ADODB.Recordset
Rs.Open SQL, Con
Dim Var As Variant
Var = Rs.GetRows
ConToDataBase = Var
Set Rs = Nothing
Con.Close
End Function