SQL、Access、Excel數據轉換

-- 注意:Data Source和User ID中間都要有空格,否則不行;

--在SqlServer裏查詢Access中的數據;

select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="F:/校風學/MST.mdb";User ID=Admin;Password=')...Category

--將Access導入到Sqlserver中;

SELECT * INTO newtable FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="F:/校風學/MST.mdb";User ID=Admin;Password=' )...Category


--將SQL SERVER表裏的數據插入到Access表中

insert into OpenRowSet('Microsoft.Jet.OLEDB.4.0','F:/校風學/MST.mdb';'admin';'',Category)  select newsID,newName from news

--或者:

insert into OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="F:/校風學/MST.mdb";User ID=Admin;Password=')...Category select * from  news


--在SqlServer裏查詢excel中的數據;

select * from OpenDataSource('Microsoft.Jet.Oledb.4.0','Data Source="F:/校風學/aa.xls";User ID=Admin;Password=;Extended Properties=Excel 8.0')...[Sheet1$]

 

select * from OpenRowSet('Microsoft.Jet.Oledb.4.0','Excel 8.0;Database=D:/tutorial.xls',Sheet1$)

select * from openrowset('Microsoft.Jet.Oledb.4.0','Excel 8.0;Database=D:/tutorial.xls','select * from [Sheet1$]')


--將SqlServer查到的數據導到一個excel文件中;

exec master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout F:/authors.xls -c -S"." -U"sa" -P""'

 

在查詢分析器查詢ExcelAccess時注意問題:

SQL查詢分析器中不管是打開mdb文件還是打開xls文件,都要求該對文件不得處於已經佔用狀態,即在執行SQL命令之前,要關閉accessexcel對它的打開。否則會出現如下的提示( 這是打開xls時的提示):
服務器: 消息 7399,級別 16,狀態 1,行 1
OLE DB
提供程序 'MicroSoft.Jet.OleDB.4.0' 報錯。提供程序未給出有關錯誤的任何信息。
OLE DB
錯誤跟蹤[OLE/DB Provider 'MicroSoft.Jet.OleDB.4.0' IDBInitialize::Initialize returned 0x80004005:  提供程序未給出有關錯誤的任何信息。]。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章