在操作數據庫中,我們難免會遇到導入和導出數據庫中的數據問題,但有時用SQL語句操作時,就會報各種錯誤,比如下面這種錯誤。
錯誤各種找啊,最終解決,現總結原因如下:
1.未開啟Ad Hoc Distributed Queries 服務:
開啟方式和關閉方式如下:
1 --啟用Ad Hoc Distributed Queries: 2 exec sp_configure 'show advanced options',1 3 reconfigure 4 exec sp_configure 'Ad Hoc Distributed Queries',1 5 reconfigure 6 7 --使用完成后,關閉Ad Hoc Distributed Queries: 8 exec sp_configure 'Ad Hoc Distributed Queries',0 9 reconfigure 10 exec sp_configure 'show advanced options',0 11 reconfigure 12
2.Microsoft.Jet.OLEDB.4.0 引擎設置阻止了導入和導出。
設置方式如下(SQL2005為例子):
SQL Server Management Studio ->服務器對象-->鏈接服務器-->Microsoft.Jet.OLEDB.4.0-->右鍵屬性-->訪問接口選項:全都不選
3.SQL Server(MSSQLSERVER)和SQL Full-Filter Deamon Launcher 服務的登錄身份設置錯誤:
設置方式如下:
將SQL Server(MSSQLSERVER)和SQL Full-Filter Deamon Launcher(MSSQLSERVER)兩個服務的登錄身份改為LocalSystem
4.確保要導入的數據格式正確。
5.確保在導入數據時,Excel表或者其他數據庫表沒有被其他軟件打開。
6.確定你的Office版本;選擇合適的SQL語句進行導入和導出。(導入為例)
如果是2003之前的,一般用下面的SQL語句:
1 insert into dbo.data_cldeb(gg,xh,cl,de) 2 select 規格,型號,'銅',銅 from OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 3 'Data Source=F:\gongzuo\系列7.xls;Extended Properties=Excel 5.0')...[Sheet1$]
如果Office是2007之后的,一般用下面的SQL語句:
1 insert into dbo.data_cldeb(gg,xh,cl,de) 2 select 規格,型號,'銅',銅 from OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 3 'Data Source=F:\gongzuo\系列7.xls;Extended Properties=Excel 8.0')...[Sheet1$]