SQL Query从50个Access ACCDB数据库导入数据

时间:2015-11-24 16:03:41

标签: sql sql-server ms-access import

我是SQL的新手,所以请原谅我的无知。我下载了免费版的SQL Server Express Edition 2014并拥有一台32位机器。我使用的是Microsoft SQL Server Mgmt Studio。我正在尝试设置一个进程,以链接或导入50个单独的Microsoft Access 2013数据库(每周更新)中的50个Access表到SQL。我目前在Access 2013数据库中执行此操作,但我正在尝试替换该过程。我下载了免费版的SQL Server Express Edition 2014并拥有一台32位机器。我在我的电脑上使用Microsoft SQL Server Mgmt Studio。下面是我放在一起的代码。但是,这是消息窗口中的结果:

  

配置选项'显示高级选项'从1更改为1.运行RECONFIGURE语句进行安装   配置选项' Ad Hoc Distributed Queries'从1更改为1.运行RECONFIGURE语句进行安装。

     

Msg 7403,Level 16,State 1,Line 8
  OLE DB提供程序" Microsoft.Jet.OLEDB.12.0"尚未注册。

我是新手,所以我非常感谢知识的假设。谢谢。

sp_configure 'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE WITH OVERRIDE;
GO

INSERT INTO TEST2.dbo.MyTest
SELECT * FROM OPENDATASOURCE(   
'Microsoft.Jet.OLEDB.12.0',
'Data Source="D:\data\EXCEPT2.accdb"')...Testtbl;
GO

1 个答案:

答案 0 :(得分:1)

原来我必须运行以下代码才能使sql正常工作。我也将'Microsoft.Jet.OLEDB.12.0'更改为'Microsoft.Jet.ACE.12.0',

USE [master] 
GO 
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 
GO 
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1 
GO