2010-09-16 41 views
1

我們在64位盒子上運行SQL Server 2008。我們有一個請求來創建一個查詢,該查詢具有一個從Excel表中繪製數據的Where子句。在僞代碼,查詢可能如下所示:SQL Server 2008/64Bit - 如何創建包括Excel的查詢

Select column1, column2, column3 
From MyDatabase.MyTable 
Where column4 IN (Select all values from column 'A' in SubIDs.xls whose sheet name is 'SubIDs') 

回答

3

這取決於在XLS變化多久數據:如果不經常更改,那麼你可以將其加載到數據庫表中,並直接對其進行查詢。 SSIS是自動完成這一共同的方式,但沒有64位OLE DB提供程序爲Jet,所以你需要使用32位軟件包:

http://msdn.microsoft.com/library/ms141766.aspx

或者,你可以創建一個鏈接的服務器Excel電子表格並直接查詢。見實施例E這裏(約OLE DB提供程序的註釋同樣適用):

http://msdn.microsoft.com/en-us/library/ms190479.aspx

個人而言,我會首先如果可能的話將數據加載到MSSQL,它只是變得更加容易。