2010-09-16 75 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,它只是变得更加容易。