參考:連線
sqlserver 與access、excel的資料轉換
熟悉sql server2000的資料庫管理員都知道,其dts可以進行資料的匯入匯出,其實,我們也可以使用transact-sql語句進行匯入匯出操作。
在transact-sql語句中,我們主要使用opendatasource函式、openrowset 函式,關於函式的詳細說明,請參考sql聯機幫助。
利用下述方法,可以十分容易地實現sql server、access、excel資料轉換,詳細說明如下:
常規的資料匯入匯出:
使用dts嚮導遷移你的access資料到sql server,你可以使用這些步驟:
1在sql server企業管理器中的tools(工具)選單上,選擇datatransformation
2services(資料轉換服務),然後選擇 czdimport data(匯入資料)。
3在choose a datasource(選擇資料來源)對話方塊中選擇microsoft access as the source,然後鍵入你的.mdb資料庫(.mdb副檔名)的檔名或通過瀏覽尋找該檔案。
4在choose adestination(選擇目標)對話方塊中,選擇microsoft ole db prov ider for sql server,選擇資料庫伺服器,然後單擊必要的驗證方式。
5在specify table copy(指定**複製)或query(查詢)對話方塊中,單擊copy tables(複製**)。
6在select sourcetables(選擇源**)對話方塊中,單擊select all(全部選定)。下一步,完成。
transact-sql語句進行匯入匯出:
select *
from opendatasource( 'microsoft.jet.oledb.4.0',
'data source="c:\db.mdb";userid=admin;password=')...表名
在sql server 裡執行:
select *
into newtable
from opendatasource ('microsoft.jet.oledb.4.0',
'datasource="c:\db.mdb";user id=admin;password=' )...表名
在sql server 裡執行:
insert into opendatasource( 'microsoft.jet.oledb.4.0',
'datasource=" c:\db.mdb";user id=admin;password=')...表名
(列名1,列名2)
select 列名1,列名2 from sql表
例項:insert into openrowset('microsoft.jet.oledb.4.0',
'c:\db.mdb';'admin';'', test)
select id,name from test
insert into openrowset('microsoft.jet.oledb.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)
select *
from sqltablename
select *
from opendatasource( 'microsoft.jet.oledb.4.0',
'data source="c:\book1.xls";userid=admin;password=;extended properties=excel 5.0')...[sheet1$]
下面是個查詢的示例,它通過用於 jet 的 ole db 提供程式查詢 excel 電子**。
select *
from opendatasource ( 'microsoft.jet.oledb.4.0',
'datasource="c:\finance\account.xls";user id=admin;password=;extendedproperties=excel 5.0')...xactions
select * into newtable
from opendatasource( 'microsoft.jet.oledb.4.0',
'datasource="c:\book1.xls";user id=admin;password=;extendedproperties=excel 5.0')...[sheet1$]
例項:select * into newtable
from opendatasource( 'microsoft.jet.oledb.4.0',
'datasource="c:\finance\account.xls";user id=admin;password=;extendedproperties=excel 5.0')...xactions
t-sql**:
exec master..xp_cmdshell 'bcp 庫名.dbo.表名out c:\temp.xls-c -q -s"servername" -u"sa" -p""'
引數:s 是sql伺服器名;u是使用者;p是密碼
例項:execmaster..xp_cmdshell 'bcp saletesttmp.dbo.cusaccount out c:\temp1.xls-c -q -s"pmserver" -u"sa" -p"sa"'
exec master..xp_cmdshell 'bcp"select au_fname, au_lname from pubs..authors order by au_lname"queryout c:\ authors.xls -c -sservername -usa -ppassword'
在vb6中應用ado匯出excel檔案**:
dim cn as newadodb.connection
cn.open "driver=;server=websvr;database=webmis;uid=sa;wd=123;"
cn.execute"master..xp_cmdshell 'bcp "select col1, col2 from 庫名.dbo.表名" queryoute:\dt.xls -c -sservername -usa -ppassword'"
insert into opendatasource( 'microsoft.jet.oledb.4.0',
'data source="c:\temp.xls";userid=admin;password=;extended properties=excel 5.0')...table1(a1,a2,a3) values (1,2,3)
t-sql**:
insert into
opendatasource('microsoft.jet.oledb.4.0',
'extended properties=excel 8.0;datasource=c:\training\inventur.xls')...[filiale1$]
(bestand, produkt) values (20, 'test')
總結:利用以上語句,我們可以方便地將sql server、access和excel電子**軟體中的資料進行轉換,為我們提供了極大方便!
ADO操作外部資料
1 在vbe介面中 工具 引用勾選microsoft activex data object x.x library 2 連線 sub test dim conn as new adodb.connection conn.open provider microsoft.ace.oledb.12.0 ...
使用ADO操作外部資料
勾選microsoft activex data object x.x library 開啟連線 conn.open provider microsoft.ace.oledb.12.0 data source c data edata.xlsx extended properties excel 1...
mysql建立資料庫和表操作外部SQL檔案
1.顯示所有資料庫 show databases 或show databases g.2.使用資料庫 use 資料庫名 3.顯示資料庫的所有表 show tables 4.查詢表的所以記錄 select from 表名 5.where查詢 select from 表名 where 列名 6.顯示表結...