熟悉sqlserver2000的資料庫管理員都知道,其dts可以進行資料的匯入匯出,其實,我們也可以使用transact
-sql語句進行匯入匯出操作。在transact
-sql語句中,我們主要使用opendatasource函式、
openrowset
函式,關於函式的詳細說明,請參考sql聯機幫助。利用下述方法,可以十分容易地實現sqlserver、access、excel資料轉換,詳細說明如下:
一、sqlserver和access的資料匯入匯出
常規的資料匯入匯出:
使用dts嚮導遷移你的access資料到sqlserver,你可以使用這些步驟:
○1在sqlserver企業管理器中的tools(工具)選單上,選擇datatransformation
○2services(資料轉換服務),然後選擇czdimportdata(匯入資料)。
○3在chooseadatasource(選擇資料來源)對話方塊中選擇microsoftaccess
asthesource,然後鍵入你的.mdb資料庫(.mdb副檔名)的檔名或通過瀏覽尋找該檔案。
○4在chooseadestination(選擇目標)對話方塊中,選擇microsoftole dbprovider
forsql server,選擇資料庫伺服器,然後單擊必要的驗證方式。
○5在specify
table
copy(指定**複製)或query(查詢)對話方塊中,單擊copytables(複製**)。
○6在selectsourcetables(選擇源**)對話方塊中,單擊select
all(全部選定)。下一步,完成。
transact
-sql語句進行匯入匯出:
1.在sqlserver裡查詢access資料:
select
*from
opendatasource('
microsoft.jet.oledb.4.0',
'datasource="c:/db.mdb";userid=admin;password=
')表名
2.將access匯入sqlserver
在sqlserver裡執行:
select
*into
newtable
from
opendatasource('
microsoft.jet.oledb.4.0',
'datasource="c:/db.mdb";userid=admin;password=
')表名
3.將sqlserver表裡的資料插入到access表中
在sqlserver裡執行:
insert
into
opendatasource('
microsoft.jet.oledb.4.0',
'datasource="c:/db.mdb";userid=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
二、sqlserver和excel的資料匯入匯出
1、在sqlserver裡查詢excel資料:
select
*from
opendatasource('
microsoft.jet.oledb.4.0',
'datasource="c:/book1.xls";userid=admin;password=;extendedproperties=excel5.0')
[sheet1$
]下面是個查詢的示例,它通過用於jet的oledb提供程式查詢excel電子**。
select
*from
opendatasource('
microsoft.jet.oledb.4.0',
'datasource="c:/finance/account.xls";userid=admin;password=;extendedproperties=excel5.0
')xactions
2、將excel的資料匯入sqlserver:
select
*into
newtable
from
opendatasource('
microsoft.jet.oledb.4.0',
'datasource="c:/book1.xls";userid=admin;password=;extendedproperties=excel5.0')
[sheet1$
]例項:
select
*into
newtable
from
opendatasource('
microsoft.jet.oledb.4.0',
'datasource="c:/finance/account.xls";userid=admin;password=;extendedproperties=excel5.0
')xactions
3、將sqlserver中查詢到的資料導成乙個excel檔案t-
sql**:
exec
master..xp_cmdshell
'bcp庫名.dbo.表名outc:/temp.xls-c-q-s"servername"-u"sa"-p""
'例項:
exec
master..xp_cmdshell
'bcpsaletesttmp.dbo.cusaccountoutc:/temp1.xls-c-q-s"pmserver"-u"sa"-p"sa"
'exec
master..xp_cmdshell
'bcp"selectau_fname,au_lnamefrompubs..authorsorderbyau_lname"queryoutc:/authors.xls-c-sservername-usa-ppassword
'在vb6中應用ado匯出excel檔案**:
dimcn
asnewadodb.connection
cn.open
"driver
=;server
=websvr;
database
=webmis;uid
=sa;wd
=123
;"cn.
execute
"master..xp_cmdshell
'bcp"selectcol1,col2from庫名.dbo.表名"queryoute:/dt.xls-c-sservername-usa-ppassword'"
4、在sqlserver裡往excel插入資料:
insert
into
opendatasource('
microsoft.jet.oledb.4.0',
'datasource="c:/temp.xls";userid=admin;password=;extendedproperties=excel5.0
')table1(a1,a2,a3)
values(1
,2,3
) t-sql**:
insert
into
opendatasource('
microsoft.jet.oledb.4.0',
'extendedproperties=excel8.0;datasource=c:/training/inventur.xls')
[filiale1$
](bestand,produkt)
values(20
,'test')
總結:利用以上語句,我們可以方便地將sqlserver、access和excel電子**軟體中的資料進行轉換,為我們提供了極大方便!
資料匯入匯出SQL資料
bcp 可以實現資料的匯入匯出。exec master.xp cmdshell bcp test.dbo.p aspect in c temp1.txt c q s servername u sa p 匯入 exec master.xp cmdshell bcp test.dbo.p aspect ...
MYSQL資料的匯出匯入與版本的轉換
cd d c program files 進入c盤 一 mysql 資料的匯出 有的站長經常用一種最直接的辦法就是拷貝資料庫資料夾的辦法,這個方法確實簡單,但是不提倡,在跨版本或者跨不同字符集系統是很容易出問題。再說了資料庫4.1版本有兩種儲存資料的方式在配置的時候可選,一種是和以前一樣的每個資料庫...
資料的匯出匯入
異構資料庫之間資料交換,主要使用txt文字檔案 以下記錄乙個工具的使用 sqluldr.zip主要使用oci庫運算元據庫,效能很好。可以很好的匯出txt文字 使用之前需要安裝oracle客戶端,配置好tnsname user username password tnsname 使用者名稱密碼 sql...