从Excel电子表格查询SQL Server 2005数据库表

时间:2010-02-24 15:35:18

标签: sql-server-2005 tsql excel pivot-table

方案

我有一个由4列和600万行组成的数据库。 我希望能够使用Excel以与使用Sql Server Management Studio查询数据相同的方式查询此数据。

我有一个谷歌并阅读了一些文章,但说实话,我真的不太了解实施,真正知道在教程中寻找什么。

问题

有人可以向我解释一下这种方式的工作方式以及我如何实施看似简单的想法吗?

编辑:

所以例如 - 我有一些简单的查询,我想在这些数据上运行。 我该如何设置这些? 是否所有数据首先加载到Excel工作表中(或者至少链接到Excel工作表以便用户可以选择要动态查看的数据?) - 我无法在Excel中实际加载600万行不能拿那个级别的数据.....

1 个答案:

答案 0 :(得分:2)

绝对不要将所有数据都拉到Excel中,这会让它瘫痪。

通常,当我需要Excel(VBA)工作簿从数据库中检索某些数据时,我只需要使用适当的连接字符串连接到数据库,将SQL查询字符串传递给数据库,然后检索返回的数据库记录。下面是一些示例VBA代码,它从MS Access数据库中检索一些信息。

txtQueryString = "SELECT * " 
    & "FROM myDataTable " _
    & "WHERE fld1 = '" & myCriteria & "'"

txtConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & dbPathString & ";" _
& "Persist Security Info=False"

Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Open txtQueryString, txtConnectString, adOpenKeyset, adLockReadOnly, adCmdText

myData1 = rst.Fields("fld1").Value 
myData2 = rst.Fields("fld2").Value 
   .
   .
   .
    rst.Close
    Set rst = Nothing

SQL Server的连接字符串将有所不同。我使用this website来满足我的所有连接字符串需求。