SQL Server數據庫以2005為例,導入方法如下:
一.使用SQL Server的數據庫導入/導出功能。首先在要導入到的SQL Srever數據庫上右鍵,選擇“任務”,然后選擇“導入數據”,按照提示下一步直到完成即可成功將Access數據庫導入到SQL Server數據庫中,此種方法如果SQL Server數據庫中沒有相應的數據表,則會自動創建改表,但是約束等表關系不會同步導入,如果SQL Server中有相同名稱并且屬性相同的數據表,則會直接將Access數據庫中的對應表的數據導入。
在導入過程中,還可以通過SQL語句指定要導入的數據。
使用這種方法一般會出現以下兩種錯誤:
(1)無法建立數據流連接
為連接管理器“{FFBF32BF-EE84-4F94-ACDB-D4C5AC4C2941}”指定的連接類型“OLEDB”未被識別為有效的連接管理器類型。當視圖創建未知連接類型的連接管理器時會返回此錯誤。請檢查連接類型名稱的拼寫是否正確。
(2)無法連接源組件
找不到連接“SourceConnectionOLEDB”。如果找不到特定的連接元素,Connections集合將發生此錯誤。
其他信息:
找不到連接“SourceConnectionOLEDB”。如果找不到特定的連接元素,Connections集合將發生此錯誤。
({0DE0CDBB-BCD6-4261-A118-B0CB22DA3C4A})
具體解決辦法是打開SqlServer Configuration Manage,右鍵單擊“Sql Server Integration Services”,選擇“屬性”,將登錄身份修改為“Local System(本地系統)”,然后重新啟動該服務。
二.使用Access數據庫的數據升遷功能。首先點擊“工具”菜單,選擇“數據庫實用工具”,選擇“升遷向導”,這是會提示你該功能尚未安裝,需要安裝XXX之類的信息,點擊安裝,等待安裝成功后,即可彈出“升遷向導”對話框,按照提示下一步直到完成,即可將Access數據庫導入到SQL Server數據庫中。使用此種方法的好處是Access數據庫中的所有數據以及表關系都會被原樣導入到SQL Server數據庫中。
三.使用SQL語句批量導入。1當我們只需要導入Access數據庫中的指定表以及指定表的指定列到SQL Server數據庫中時,前面的兩種方法就顯得不那么方便了。而使用SQL語句導入可以方便快捷的導入我們需要的數據。具體代碼如下
(1)SQL Serve數據庫中已存在要導入數據的表.(這樣可以事先按照要導入的Access數據庫的數據表創建好需要的關系)
Insert into table(tid,tname)SELECT id,nameFROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Shop.mdb";User ID=Admin;Password=' )...ShopGoods
(2)SQL Server數據庫中不存在要存儲導入數據的表.(使用下面的代碼會直接在SQL Server數據庫中創建相應的數據表)
SELECT id,nameINTO table(tid,tname)FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Shop.mdb";User ID=Admin;Password=' )...ShopGoods
其中,table是SQL Server中用來存儲Access導入數據的數據表名,ShopGoods是指要導入到SQL Server中的Access數據庫中的數據表名。前面的三個點不能省略。
但使用這種方法時有可能出現以下錯誤:
SQL Server 阻止了對組件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問,因為此組件已作為此服務器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 'Ad Hoc Distributed Queries'。有關啟用 'Ad Hoc Distributed Queries' 的詳細信息,請參閱 SQL Server 聯機叢書中的 "外圍應用配置器"。
具體解決辦法是使用如下語句啟用“'Ad Hoc Distributed Querie”
EXEC sp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'Ad Hoc Distributed Queries', 1 GO RECONFIGURE GO
附:我是個即將畢業的新人,工作中遇到的問題會上網查詢解決方法并一一加以分析嘗試,上文是我今天工作中遇到的問題,引用了一些網絡內容,請原作者諒解。
本人畢竟學識有限,經驗尚欠,文中某些表述可能不準確或有問題,歡迎大家加以指正與指導。