在SQL Temp Table中选择MS Access表

时间:2013-11-21 13:26:33

标签: sql sql-server import temp-tables

我需要一个解决方案来从SQL中访问临时表中选择一个表。我查看了批量插入,但据我所知,源必须是数据文件,因此无法正常工作。此外,我不想使用导入/导出向导,这必须通过代码完成,因为我只需要一个临时表来执行某些查询。查询需要执行类似......

的操作
SELECT * FROM [Access DB] INTO #TempTable (in SQL)

有人有任何想法吗?

2 个答案:

答案 0 :(得分:1)

SELECT * INTO #TempTable 
FROM [Server_Name].[Database].[Schema].[Table]  

您需要将Access数据源作为链接服务器添加到Sql Server。 GOTO Obejct Explorer - > SQL Server - >服务器对象 - >链接服务器 - >右键点击并按照添加链接服务器的说明操作。将Access数据库添加为链接服务器后,可以使用上面的命令来查询它 或者您可以使用OPENROWSET查询数据

SELECT * INTO #TempTable    
FROM OPENROWSET(
                'Microsoft.Jet.OLEDB.4.0',
                'C:\Program Files\Path_to_Access_Database_File\Database_Name.mdb';
                'admin';'',Table_Name
                )

答案 1 :(得分:0)

使用链接服务器是您的最佳解决方案。下面列出了一篇关于设置它们的technet文章。您可能需要安装驱动程序,我已包含Office 2007驱动程序的链接。以下是我的Access 12.0连接配置的屏幕截图。

http://www.anony.ws/i/2013/11/21/UPm4G.jpg

http://technet.microsoft.com/en-us/library/ff772782.aspx#SSMSProcedure http://www.microsoft.com/en-us/download/details.aspx?id=23734