精妙的SQL的資料匯入匯出轉換

2021-08-22 14:00:38 字數 4270 閱讀 8508

熟悉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...