Access數據導入SQLServer2008R2 -开发者知识库

Access數據導入SQLServer2008R2 -开发者知识库,第1张

環境:office Access 2010 SQLServer2008R2 Windows Server 2008R2

方式:Transact-SQL

方法:

  1. 在SQL SERVER里查詢access數據:

1   SELECT *
2
3   FROM OpenDataSource'Microsoft.ACE.OLEDB.12.0',
4
5   'Data Source="c:\DB.mdb";User ID=;Password=')...表名

  2. 將access導入SQL server

1   SELECT *
2
3   INTO newtable
4
5   FROM OPENDATASOURCE'Microsoft.ACE.OLEDB.12.0',
6
7   'Data Source="c:\DB.mdb";User ID=;Password=' )...表名

  3. 將SQL SERVER表里的數據插入到Access表中

1  insert into OpenDataSource'Microsoft.Jet.OLEDB.4.0',
2
3   'Data Source=" c:\DB.mdb";User ID=;Password=')...表名
4
5   (列名1,列名2)
6
7   select 列名1,列名2 from sql表

 問題:

  1、如何保持標識列值不變: 

  有自動增長列時,插入會提示:僅當使用了列列表並且 IDENTITY_INSERT 為 ON 時,才能為表'XXX'中的標識列指定顯式值.

Access數據導入SQLServer2008R2 -开发者知识库,第2张
 1     set IDENTITY_INSERT [INFO] ON
2
3     INSERT INTO [sdedb].[dbo].[INFO]
4     ([ID]
5     ,[NAME])
6     SELECT
7     [ID]
8     ,[NAME]
9     FROM OPENDATASOURCE ('Microsoft.ACE.OLEDB.12.0',
10     'Data Source="c:\DB.ACCDB";User ID=;Password=' )...[INFO];
11     set IDENTITY_INSERT [INFO] off
12 GO
View Code

    2、SQL Server 阻止了對組件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問

    運行以下SQL語句啟用Ad Hoc Distributed Queries:

1 exec sp_configure 'show advanced options',1
2 reconfigure
3 exec sp_configure 'Ad Hoc Distributed Queries',1
4 reconfigure

運行以下SQL語句關閉Ad Hoc Distributed Queries:

1 exec sp_configure 'Ad Hoc Distributed Queries',0
2 reconfigure
3 exec sp_configure 'show advanced options',0
4 reconfigure

   3、安裝AccessDatabaseEngine_X64.exe,不然無法找到數據庫引擎

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复