SQL資料庫與文字檔案之間的大批量資料互導

2022-02-04 19:10:50 字數 3204 閱讀 2855

開啟'xp_cmdshell'

exec sp_configure 'show advanced options', 1; 

reconfigure; 

exec sp_configure 'xp_cmdshell', 1; 

reconfigure; 

exec

master..xp_cmdshell 

'bcp "select * from aaa.dbo.role" queryout "d:\aaa\users\aaa\dbexport\111est.txt" -c -t"|" -r"|\n" /s"aaa" /u"sa" /p"aaa"'--

delete from d_t11 

select

*from

role                     

bulk

insert

role 

from

'd:\aaa\users\aaa\dbexport\111est.txt

'with

( fieldterminator ='

|',rowterminator ='

|\n'

)select

*from

role    

點選上面成功

**********************************************

資料庫:

sql2000

伺服器名: sqlservername

資料庫名:  databasename

表    名:  d_t11

用 戶 名:  sa

密    碼:  sa

執行環境:  sql2000查詢分析器

資料檔案:

以下示例為文字檔案

如果你要匯入或匯出到*.doc,*.dat型別的資料檔案中,只需將檔名更改即可.

檔案路徑及檔名:  c:\mrfu.txt

**********************************************

1.sql中資料與文字檔案互導

**********************************************

相鄰字段之間用空格隔開

exec master..xp_cmdshell ' bcp "databasename..d_t11" out "c:\mrfu.txt" -c -s"sqlservername" -u"sa" -p"sa" '    或

exec master..xp_cmdshell 'bcp "select * from databasename..d_t11" queryout "c:\mrfu.txt" -c -s"sqlservername" -u"sa" -p"sa" '

相鄰字段之間用逗號或其它符號隔開(在-c後新增-t 並在-t後新增你要使用的分隔符)

exec master..xp_cmdshell ' bcp "databasename..d_t11" out "c:\mrfu.txt" -c -t, -s"sqlservername" -u"sa" -p"sa" '    或

exec master..xp_cmdshell 'bcp "select * from databasename..d_t11" queryout "c:\mrfu.txt" -c -t,, -s"sqlservername" -u"sa" -p"sa" '

大容量複製選項 bcp 實用工具開關 bulk insert 子句

字元模式格式 -c    datafiletype = 'char'

字段終止符   -t    fieldterminator

行終止符     -r    rowterminator

--本例從指定的sql資料庫中匯入員工詳細資訊,該檔案使用豎槓 (|) 字元作為字段終止符,使用 |\n 作為行終止符。

exec master..xp_cmdshell 'bcp "select * from databasename..d_t11" queryout "c:\mrfu.txt" -c -t"|" -r"|\n" -s"sqlservername" -u"sa" -p"sa" '

--將資料從資料檔案(c:\mrfu.txt)複製到 sql server中

--delete from d_t11

select * from d_t11                    

bulk insert databasename..d_t11

from 'c:\mrfu.txt'

with

( fieldterminator = '|',

rowterminator = '|\n'

)select * from d_t11   或

exec master..xp_cmdshell 'bcp " databasename..d_t11" in "c:\mrfu.txt" -c -t"|" -r"|\n" -s"sqlservername" -u"sa" -p"sa" '

**********************************************

相關說明:

1.xp_cmdshell

以作業系統命令列直譯器的方式執行給定的命令字串,並以文字行方式返回任何輸出。授予非管理使用者執行 xp_cmdshell 的許可權。

2.bcp

實用工具在sql2000資料庫和資料檔案之間以使用者指定的格式複製資料。

語法bcp | "query"}

data_file

[-m max_errors] [-f format_file] [-e err_file]

[-f first_row] [-l last_row] [-b batch_size]

[-n] [-c] [-w] [-n] [-v (60 | 65 | 70)] [-6]

[-q] [-c code_page] [-t field_term] [-r row_term]

[-i input_file] [-o output_file] [-a packet_size]

[-s server_name[\instance_name]] [-u login_id] [-p password]

[-t] [-v] [-r] [-k] [-e] [-h "hint [,...n]"]

**********************************************

MSSQLSERVER資料庫 匯入文字檔案

有時候需要把文字檔案根據一定的格式批量匯入資料庫,mssqlserver提供了這樣的匯入語句 bulk insert ebss.mss actingwork ml from c 表資料 mss actingwork ml.txt with fieldterminator rowterminator ...

ASP與資料庫,文字檔案鏈結精髓

asp與資料庫,文字檔案鏈結精髓 一 與 sql鏈結 通過 odbc 1.先通過控制面板中的設定 odbc源設定好要連線的 sql資料庫 連線成功後得到乙個名稱 sql sever,如 zou 2.然後用編輯器 如記事本 加入 set dbconn server.createobject adodb...

文字檔案資料匯入SQL Server資料庫

阿斯頓 12 周小川 14 東豐閣 15 using system using system.collections.generic using system.linq using system.text using system.windows using system.windows.contr...