sqlserver bcp(數(shù)據(jù)導(dǎo)入導(dǎo)出工具)一般用法與命令詳解
1. bcp的主要參數(shù)介紹
bcp共有四個(gè)動(dòng)作可以選擇。
(1) 導(dǎo)入。
這個(gè)動(dòng)作使用in命令完成,后面跟需要導(dǎo)入的文件名。
(2) 導(dǎo)出。
這個(gè)動(dòng)作使用out命令完成,后面跟需要導(dǎo)出的文件名。
(3) 使用SQL語(yǔ)句導(dǎo)出。
這個(gè)動(dòng)作使用queryout命令完成,它跟out類(lèi)似,只是數(shù)據(jù)源不是表或視圖名,而是SQL語(yǔ)句。
(4) 導(dǎo)出格式文件。
這個(gè)動(dòng)作使用format命令完成,后而跟格式文件名。
下面介紹一些常用的選項(xiàng):
-f format_file
format_file表示格式文件名。這個(gè)選項(xiàng)依賴(lài)于上述的動(dòng)作,如果使用的是in或out,format_file表示已經(jīng)存在的格式文件,如果使用的是format則表示是要生成的格式文件。
-x
這個(gè)選項(xiàng)要和-f format_file配合使用,以便生成xml格式的格式文件。
-F first_row
指定從被導(dǎo)出表的哪一行導(dǎo)出,或從被導(dǎo)入文件的哪一行導(dǎo)入。
-L last_row
指定被導(dǎo)出表要導(dǎo)到哪一行結(jié)束,或從被導(dǎo)入文件導(dǎo)數(shù)據(jù)時(shí),導(dǎo)到哪一行結(jié)束。
-c
使用char類(lèi)型做為存儲(chǔ)類(lèi)型,沒(méi)有前綴且以"\t"做為字段分割符,以"\n"做為行分割符。
-w
和-c類(lèi)似,只是當(dāng)使用Unicode字符集拷貝數(shù)據(jù)時(shí)使用,且以nchar做為存儲(chǔ)類(lèi)型。
-t field_term
指定字符分割符,默認(rèn)是"\t"。
-r row_term
指定行分割符,默認(rèn)是"\n"。
-S server_name[ \instance_name]
指定要連接的SQL Server服務(wù)器的實(shí)例,如果未指定此選項(xiàng),bcp連接本機(jī)的SQL Server默認(rèn)實(shí)例。如果要連接某臺(tái)機(jī)器上的默認(rèn)實(shí)例,只需要指定機(jī)器名即可。
-U login_id
指定連接SQL Sever的用戶(hù)名。
-P password
指定連接SQL Server的用戶(hù)名密碼。
-T
指定bcp使用信任連接登錄SQL Server。如果未指定-T,必須指定-U和-P。
-k
指定空列使用null值插入,而不是這列的默認(rèn)值。
2. 如何使用bcp導(dǎo)出數(shù)據(jù)
(1) 使用bcp導(dǎo)出整個(gè)表或視圖。
bcp AdventureWorks.sales.currency out c:\currency1.txt -c -U"sa" -P"password" --使用密碼連接或bcp AdventureWorks.sales.currency out c:\currency1.txt -c -T --使用信任連接
下面是上述命令執(zhí)行后的輸出結(jié)果
Starting copy...
105 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 10 Average : (10500.00 rows per sec.)
下面是currency1.txt的部分內(nèi)容
AED Emirati Dirham 1998-06-01 00:00:00.000
AFA Afghani 1998-06-01 00:00:00.000
... ... ...
... ... ...
ZWD Zimbabwe Dollar 1998-06-01 00:00:00.000
在使用密碼登錄時(shí)需要將-U后的用戶(hù)名和-P后的密碼加上雙引號(hào)。
注:bcp除了可以在控制臺(tái)執(zhí)行外,還可以通過(guò)調(diào)用SQL Server的一個(gè)系統(tǒng)存儲(chǔ)過(guò)程xp_cmdshell以SQL語(yǔ)句的方式運(yùn)行bcp。如上述第一條命令可改寫(xiě)為
EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency out c:\currency1.txt -c -U"sa" -P"password"'
執(zhí)行xp_cmdshell后,返回信息以表的形式輸出。為了可以方便地在SQL中執(zhí)行bcp,下面的命令都使用xp_cmdshell執(zhí)行bcp命令。
(2) 對(duì)要導(dǎo)出的表進(jìn)行過(guò)濾。
bcp不僅可以接受表名或視圖名做為參數(shù),也可以接受SQL做為參數(shù)。通過(guò)SQL語(yǔ)句可以對(duì)要導(dǎo)出的表進(jìn)行過(guò)濾,然后導(dǎo)出過(guò)濾后的記錄。
EXEC master..xp_cmdshell 'bcp "SELECT TOP 20 * FROM AdventureWorks.sales.currency" queryout c:\currency2.txt -c -U"sa" -P"password"'
bcp還可以通過(guò)簡(jiǎn)單地設(shè)置選項(xiàng)對(duì)導(dǎo)出的行進(jìn)行限制。
這條命令使用了兩個(gè)參數(shù)-F 10和-L 13,表示從SE
EXEC master..xp_cmdshell 'bcp "SELECT TOP 20 * FROM AdventureWorks.sales.currency" queryout c:\currency2.txt -F 10 -L 13 -c -U"sa" -P"password"'
LECT TOP 20 * FROM AdventureWorks.sales.currency所查出來(lái)的結(jié)果中取第10條到13條記錄進(jìn)行導(dǎo)出。
3. 如何使用bcp導(dǎo)出格式文件
bcp不僅可以根據(jù)表、視圖導(dǎo)入導(dǎo)出數(shù)據(jù),還可以配合格式文件對(duì)導(dǎo)入導(dǎo)出數(shù)據(jù)進(jìn)行限制。格式文件以純文本文件形式存在,分為一般格式和xml格式。用戶(hù)可以手工編寫(xiě)格式文件,也可以通過(guò)bcp命令根據(jù)表、視圖自動(dòng)生成格式文件。
EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency format nul -f c:\currency_format1.fmt -c -T'
上述命令將currency表的結(jié)構(gòu)生成了一個(gè)格式文件currency_format1.fmt,下面是這個(gè)格式文件的內(nèi)容。
9.0
3
1 SQLCHAR 0 6 "\t" 1 CurrencyCode SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 100 "\t" 2 Name SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 24 "\r\n" 3 ModifiedDate
這個(gè)格式文件記錄了這個(gè)表的字段(共3個(gè)字段)類(lèi)型、長(zhǎng)度、字符和行分割符和字段名等信息。
bcp還可以通過(guò)-x選項(xiàng)生成xml格式的格式文件。
EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency format nul -f c:\currency_format2.fmt -x -c -T'
xml格式文件所描述的內(nèi)容和普通格式文件所描述的內(nèi)容完全一樣,只是格式不同。
4. 如何使用bcp導(dǎo)入數(shù)據(jù)
bcp可以通過(guò)in命令將上面所導(dǎo)出的currency1.txt和currency2.txt再重新導(dǎo)入到數(shù)據(jù)庫(kù)中,由于currency有主鍵,因此我們將復(fù)制一個(gè)和currency的結(jié)構(gòu)完全一樣的表。
SELECT TOP 0 * INTO AdventureWorks.sales.currency1 FROM AdventureWorks.sales.currency
將數(shù)據(jù)導(dǎo)入到currency1表中
EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency1 in c:\currency1.txt -c -T'
導(dǎo)入數(shù)據(jù)也同樣可以使用-F和-L選項(xiàng)來(lái)選擇導(dǎo)入數(shù)據(jù)的記錄行。
EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency1 in c:\currency1.txt -c -F 10 -L 13 -T'
在導(dǎo)入數(shù)據(jù)時(shí)可以根據(jù)已經(jīng)存在的格式文件將滿(mǎn)足條件的記錄導(dǎo)入到數(shù)據(jù)庫(kù)中,不滿(mǎn)足則不導(dǎo)入。如上述的格式文件中的第三個(gè)字段的字符長(zhǎng)度是24,如果某個(gè)文本文件中的相應(yīng)字段的長(zhǎng)度超過(guò)24,則這條記錄將不被導(dǎo)入到數(shù)據(jù)庫(kù)中,其它滿(mǎn)足條件的記錄正常導(dǎo)入。
使用普通的格式文件
EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency1 in c:\currency1.txt -F 10 -L 13 -c -f c:\currency_format1.fmt -T'
使用xml格式的格式文件
EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency1 in c:\currency1.txt -F 10 -L 13 -c -x -f c:\currency_format2.fmt -T'
總結(jié)
bcp命令是SQL Server提供的一個(gè)快捷的數(shù)據(jù)導(dǎo)入導(dǎo)出工具。使用它不需要啟動(dòng)任何圖形管理工具就能以高效的方式導(dǎo)入導(dǎo)出數(shù)據(jù)。當(dāng)然,它也可以通過(guò)xp_cmdshell在SQL語(yǔ)句中執(zhí)行,通過(guò)這種方式可以將其放到客戶(hù)端程序中(如delphi、c#等)運(yùn)行,這也是使客戶(hù)端程序具有數(shù)據(jù)導(dǎo)入導(dǎo)出功能的方法之一。
bcp命令詳解(sybase)
bcp 實(shí)用工具在 Microsoft SQL Server 2000 實(shí)例和數(shù)據(jù)文件之間以用戶(hù)指定的格式復(fù)制數(shù)據(jù)。
語(yǔ)法
bcp {[[database_name.][owner].]{table_name | view_name} | "query"}
{in | out | queryout | format} 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]"]
參數(shù)
database_name
指定的表或視圖所在數(shù)據(jù)庫(kù)的名稱(chēng)。如果未指定,則為用戶(hù)默認(rèn)數(shù)據(jù)庫(kù)。
owner
表或視圖所有者的名稱(chēng)。如果執(zhí)行大容量復(fù)制操作的用戶(hù)擁有指定的表或視圖,則 owner 是可選的。如果沒(méi)有指定 owner 并且執(zhí)行大容量復(fù)制操作的用戶(hù)不擁有指定的表或視圖,則 Microsoft? SQL Server? 2000 將返回錯(cuò)誤信息并取消大容量復(fù)制操作。
table_name
是將數(shù)據(jù)復(fù)制到 SQL Server 時(shí) (in) 的目的表名,以及從 SQL Server 復(fù)制數(shù)據(jù)時(shí) (out) 的源表名。
view_name
是將數(shù)據(jù)復(fù)制到 SQL Server 時(shí) (in) 的目的視圖名,以及從 SQL Server 復(fù)制數(shù)據(jù)時(shí) (out) 的源視圖名。只有其中所有列都引用同一個(gè)表的視圖才能用作目的視圖。有關(guān)將數(shù)據(jù)復(fù)制到視圖的限制的更多信息,請(qǐng)參見(jiàn) INSERT。
Query
是返回一個(gè)結(jié)果集的 Transact-SQL 查詢(xún)。如果查詢(xún)返回多個(gè)結(jié)果集,例如指定 COMPUTE 子句的 SELECT 語(yǔ)句,只有第一個(gè)結(jié)果集將復(fù)制到數(shù)據(jù)文件,隨后的結(jié)果集被忽略。使用雙引號(hào)引起查詢(xún)語(yǔ)句,使用單引號(hào)引起查詢(xún)語(yǔ)句中嵌入的任何內(nèi)容。在從查詢(xún)中大容量復(fù)制數(shù)據(jù)時(shí),還必須指定 queryout。
in | out | queryout | format
指定大容量復(fù)制的方向。in 是從文件復(fù)制到數(shù)據(jù)庫(kù)表或視圖,out 是指從數(shù)據(jù)庫(kù)表或視圖復(fù)制到文件。只有從查詢(xún)中大容量復(fù)制數(shù)據(jù)時(shí),才必須指定 queryout。根據(jù)指定的選項(xiàng)(-n、-c、-w、-6 或 -N)以及表或視圖分隔符,format 將創(chuàng)建一個(gè)格式文件。如果使用 format,則還必須指定 -f 選項(xiàng)。
說(shuō)明 Microsoft SQL Server 6.5 中的 bcp 實(shí)用工具不支持大容量復(fù)制到包含 sql_variant 或 bigint 數(shù)據(jù)類(lèi)型的表。
data_file
大容量復(fù)制表或視圖到磁盤(pán)(或者從磁盤(pán)復(fù)制)時(shí)所用數(shù)據(jù)文件的完整路徑。當(dāng)將數(shù)據(jù)大容量復(fù)制到 SQL Server 時(shí),此數(shù)據(jù)文件包含將復(fù)制到指定表或視圖的數(shù)據(jù)。當(dāng)從 SQL Server 大容量復(fù)制數(shù)據(jù)時(shí),該數(shù)據(jù)文件包含從表或視圖復(fù)制的數(shù)據(jù)。路徑可以有 1 到 255 個(gè)字符。
-m max_errors
指定在大容量復(fù)制操作取消之前可能產(chǎn)生的錯(cuò)誤的最大數(shù)目。bcp 無(wú)法復(fù)制的每一行都將被忽略并計(jì)為一個(gè)錯(cuò)誤。如果沒(méi)有包括該選項(xiàng),則默認(rèn)為 10。
-f format_file
指定格式文件的完整路徑,該格式文件包含以前在同一個(gè)表或視圖上使用 bcp 時(shí)的存儲(chǔ)響應(yīng)。當(dāng)使用由 format 選項(xiàng)所創(chuàng)建的格式文件大容量復(fù)制入或復(fù)制出數(shù)據(jù)時(shí),使用此選項(xiàng)。格式文件的創(chuàng)建是可選的。在提示幾個(gè)格式問(wèn)題之后,bcp 將提示是否在格式文件中保存回答。默認(rèn)文件名為 Bcp.fmt。大容量復(fù)制數(shù)據(jù)時(shí),bcp 可引用一個(gè)格式文件,因此不必重新交互輸入以前的回答。如果未使用此選項(xiàng),也沒(méi)有指定 –n、-c、-w、-6 或 -N,則 bcp 將提示輸入格式信息。
-e err_file
指定錯(cuò)誤文件的完整路徑,此錯(cuò)誤文件用于存儲(chǔ) bcp 無(wú)法從文件傳輸?shù)綌?shù)據(jù)庫(kù)的所有行。來(lái)自 bcp 的錯(cuò)誤信息將發(fā)送到用戶(hù)工作站。如果未使用此選項(xiàng),則不創(chuàng)建錯(cuò)誤文件。
-F first_row
指定要大容量復(fù)制的第一行的序數(shù)。默認(rèn)值是 1,表示在指定數(shù)據(jù)文件的第一行。
-L last_row
指定要大容量復(fù)制的最后一行的序數(shù)。默認(rèn)值是 0,表示指定數(shù)據(jù)文件中的最后一行。
-b batch_size
指定所復(fù)制的每批數(shù)據(jù)中的行數(shù)。每個(gè)批處理作為一個(gè)事務(wù)復(fù)制至服務(wù)器。SQL Server 提交或回滾(在失敗時(shí))每個(gè)批處理的事務(wù)。默認(rèn)情況下,指定的數(shù)據(jù)文件中的所有數(shù)據(jù)都作為一批復(fù)制。請(qǐng)不要與 -h "ROWS_PER_BATCH = bb" 選項(xiàng)一起使用。
-n
使用數(shù)據(jù)的本機(jī)(數(shù)據(jù)庫(kù))數(shù)據(jù)類(lèi)型執(zhí)行大容量復(fù)制操作。此選項(xiàng)不提示輸入每一字段,它將使用本機(jī)值。
-c
使用字符數(shù)據(jù)類(lèi)型執(zhí)行大容量復(fù)制操作。此選項(xiàng)不提示輸入每一字段;它使用 char 作為存儲(chǔ)類(lèi)型,不帶前綴,\t(制表符)作為字段分隔符,\n(換行符)作為行終止符。
-w
使用 Unicode 字符執(zhí)行大容量復(fù)制操作。此選項(xiàng)不提示輸入每一字段;它使用 nchar 作為存儲(chǔ)類(lèi)型,不帶前綴,\t(制表符)作為字段分隔符,\n(換行符)作為行終止符。不能在 SQL Server 6.5 版或更早版本中使用。
-N
對(duì)非字符數(shù)據(jù)使用數(shù)據(jù)的本機(jī)(數(shù)據(jù)庫(kù))數(shù)據(jù)類(lèi)型和對(duì)字符數(shù)據(jù)使用 Unicode 字符類(lèi)型執(zhí)行大容量復(fù)制操作。這是可替代 -w 選項(xiàng)的性能更高的選項(xiàng),其目的是使用數(shù)據(jù)文件將數(shù)據(jù)從一個(gè) SQL Server 傳輸?shù)搅硪粋€(gè) SQL Server 中。它不提示輸入每一字段。在需要傳輸包含 ANSI 擴(kuò)展字符的數(shù)據(jù)以及想利用本機(jī)模式的性能時(shí),可以使用這一選項(xiàng)。不能在 SQL Server 6.5 版或更早版本中使用 -N 選項(xiàng)。
-V (60 | 65 | 70)
使用 SQL Server 早期版本中的數(shù)據(jù)類(lèi)型執(zhí)行大容量復(fù)制操作。此選項(xiàng)與字符 (-c) 或本機(jī) (-n) 格式一起使用。此選項(xiàng)并不提示輸入每一字段,它使用默認(rèn)值。例如,若要將 SQL Server 6.5 中的 bcp 實(shí)用工具所支持(但 ODBC 不再支持)的日期格式大容量復(fù)制到 SQL Server 2000,可使用 -V 65 參數(shù)。
重要 將數(shù)據(jù)從 SQL Server 大容量復(fù)制到數(shù)據(jù)文件時(shí),即使指定了 –V,bcp 實(shí)用工具也不會(huì)為任何 datetime 或 smalldatetime 數(shù)據(jù)生成 SQL Server 6.0 或 SQL Server 6.5 的日期格式。日期將始終以 ODBC 格式寫(xiě)入。另外,由于 SQL Server 6.5 版或更早版本不支持可為空的 bit 數(shù)據(jù),因此 bit 列中的空值寫(xiě)為值 0。
-6
使用 SQL Server 6.0 或 SQL Server 6.5 數(shù)據(jù)類(lèi)型執(zhí)行大容量復(fù)制操作。僅為保持向后兼容性。改為使用 –V 選項(xiàng)。
-q
在 bcp 實(shí)用工具和 SQL Server 實(shí)例的連接中執(zhí)行 SET QUOTED_IDENTIFIERS ON 語(yǔ)句。使用該選項(xiàng)指定包含空格或引號(hào)的數(shù)據(jù)庫(kù)、所有者、表或視圖的名稱(chēng)。將由三部分組成的整個(gè)表名或視圖名引在雙引號(hào) (" ") 中。
-C code_page
僅為保持向后兼容性。作為代替,請(qǐng)?jiān)诟袷轿募蚪换ナ?bcp 中為每一列指定一個(gè)排序規(guī)則名。
指定數(shù)據(jù)文件中的數(shù)據(jù)代碼頁(yè)。只有當(dāng)數(shù)據(jù)中包含字符值大于 127 或小于 32 的 char、varchar 或 text 列時(shí),code_page 才有用。
代碼頁(yè)值 描述
ACP ANSI/Microsoft Windows? (ISO 1252)。
OEM 客戶(hù)程序使用的默認(rèn)代碼頁(yè)。如果未指定 -C,則這是 bcp 使用的默認(rèn)代碼頁(yè)。
RAW 不發(fā)生從一個(gè)代碼頁(yè)到另一個(gè)代碼頁(yè)的轉(zhuǎn)換。因?yàn)椴话l(fā)生轉(zhuǎn)換,所以這是最快的選項(xiàng)。
<值> 特定的代碼頁(yè)號(hào)碼,例如 850。
-t field_term
指定字段終止符。默認(rèn)的字段終止符是 \t(制表符)。使用此參數(shù)替代默認(rèn)字段終止符。
-r row_term
指定行終止符。默認(rèn)的行終止符是 \n(換行符)。使用此參數(shù)替代默認(rèn)行終止符。
-i input_file
指定響應(yīng)文件的名稱(chēng),使用交互模式(未指定 –n、-c、-w、-6 或 -N)執(zhí)行大容量復(fù)制時(shí),響應(yīng)文件包含對(duì)每一字段命令提示問(wèn)題的響應(yīng)。
-o output_file
指定接收 bcp 輸出(從命令提示重定向)的文件的名稱(chēng)。
-a packet_size
指定發(fā)送到和發(fā)送自服務(wù)器的每個(gè)網(wǎng)絡(luò)數(shù)據(jù)包的字節(jié)數(shù)??梢允褂?SQL Server 企業(yè)管理器(或 sp_configure 系統(tǒng)存儲(chǔ)過(guò)程)設(shè)置服務(wù)器配置選項(xiàng)。但是,使用此選項(xiàng)可以單個(gè)地替代服務(wù)器配置選項(xiàng)。packet_size 可以設(shè)置為 4096 到 65535 字節(jié),默認(rèn)值為 4096。
數(shù)據(jù)包大小的增加能夠提高大容量復(fù)制操作的性能。如果要求一個(gè)較大的數(shù)據(jù)包而得不到,則使用默認(rèn)設(shè)置。bcp 生成的性能統(tǒng)計(jì)顯示出所使用數(shù)據(jù)包的大小。
-S server_name[\instance_name]
指定要連接到的 SQL Server 實(shí)例。指定 server_name 以連接該服務(wù)器上的 SQL Server 默認(rèn)實(shí)例。指定 server_name\instance_name 以連接到該服務(wù)器上的 SQL Server 2000 命名實(shí)例。如果未指定服務(wù)器,則 bcp 連接到本地計(jì)算機(jī)上的 SQL Server 默認(rèn)實(shí)例。從網(wǎng)絡(luò)上的遠(yuǎn)程計(jì)算機(jī)執(zhí)行 bcp 時(shí),要求此選項(xiàng)。
-U login_id
指定用于連接到 SQL Server 的登錄 ID。
-P password
指定登錄 ID 的密碼。如果未使用此選項(xiàng),則 bcp 將提示輸入密碼。如果不帶密碼將此選項(xiàng)用于命令提示行末尾,則 bcp 將使用默認(rèn)密碼 (NULL)。
-T
指定 bcp 使用網(wǎng)絡(luò)用戶(hù)的安全憑據(jù),通過(guò)信任連接連接到 SQL Server。不需要 login_id 和 password。
-v
報(bào)告 bcp 實(shí)用工具的版本號(hào)和版權(quán)。
-R
指定使用為客戶(hù)端計(jì)算機(jī)的區(qū)域設(shè)置定義的區(qū)域格式,將貨幣、日期和時(shí)間數(shù)據(jù)大容量復(fù)制到 SQL Server 中。默認(rèn)情況下,將會(huì)忽略區(qū)域設(shè)置。
-k
指定在大容量復(fù)制操作中空列應(yīng)保留一個(gè)空值,而不是對(duì)插入的列賦予默認(rèn)值。
bcp 的一般用法
用法: bcp {dbtable | query} {in | out | queryout | format} 數(shù)據(jù)文件
[-m 最大錯(cuò)誤數(shù)] [-f 格式化文件] [-e 錯(cuò)誤文件]
[-F 首行] [-L 末行] [-b 批大小]
[-n 本機(jī)類(lèi)型] [-c 字符類(lèi)型] [-w 寬字符類(lèi)型]
[-N 將非文本保持為本機(jī)類(lèi)型] [-V 文件格式版本] [-q 帶引號(hào)的標(biāo)識(shí)符]
[-C 代碼頁(yè)說(shuō)明符] [-t 字段終止符] [-r 行終止符]
[-i 輸入文件] [-o 輸出文件] [-a 數(shù)據(jù)包大小]
[-S 服務(wù)器名稱(chēng)] [-U 用戶(hù)名] [-P 密碼]
[-T 可信連接] [-v 版本] [-R 允許使用區(qū)域設(shè)置]
[-k 保留空值] [-E 保留標(biāo)識(shí)值]
[-h"加載提示"] [-x 生成xml 格式化文件]
導(dǎo)入csv格式文件
Exec master..xp_cmdshell 'bcp "SSIS.dbo.tb2" in "E:\export.csv" -c -t"," -r"\n" -T'
導(dǎo)出成csv
Exec master..xp_cmdshell 'bcp "SSIS.dbo.tb2" out "E:\test.csv" -c -t"," -r"\n" -T'
將特定查詢(xún)導(dǎo)出成默認(rèn)格式
默認(rèn)以制表符間隔,"\n"換行
Exec master..xp_cmdshell 'bcp "select carbrand,longitude from ssis.dbo.tb2" queryout "E:\test2.txt" -c -T'
其他情況參考:http://msdn.microsoft.com/zh-cn/library/ms162802.aspx
啟用xp_cmdshell
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO
- 圖文教程mssqlserver數(shù)據(jù)庫(kù)導(dǎo)出到另外一個(gè)數(shù)據(jù)庫(kù)的方法
- SQLServer導(dǎo)出數(shù)據(jù)到MySQL實(shí)例介紹
- SQLServer導(dǎo)出sql文件/表架構(gòu)和數(shù)據(jù)操作步驟
- sqlserver 導(dǎo)出插入腳本代碼
- SQLServer 數(shù)據(jù)導(dǎo)入導(dǎo)出的幾種方法小結(jié)
- SQLserver 2008將數(shù)據(jù)導(dǎo)出到Sql腳本文件的方法
- 使用Navicat Premium將SQLServer數(shù)據(jù)導(dǎo)出為sql格式
相關(guān)文章
MSsql每天自動(dòng)備份數(shù)據(jù)庫(kù)并每天自動(dòng)清除log的腳本
有自己服務(wù)器的朋友需要用到的東西,因?yàn)閙ssql數(shù)據(jù)需要經(jīng)常備份2008-09-09sqlserver數(shù)據(jù)庫(kù)最大Id沖突問(wèn)題解決方法之一
在一個(gè)特定的表中保存最大Id,通過(guò)記錄來(lái)取每次的唯一最大值2011-12-12sql自動(dòng)增長(zhǎng)標(biāo)識(shí)導(dǎo)致導(dǎo)入數(shù)據(jù)問(wèn)題的解決方法
對(duì)于一個(gè)設(shè)了自動(dòng)增長(zhǎng)標(biāo)識(shí)的數(shù)據(jù)表來(lái)說(shuō),它的字段的值是由數(shù)據(jù)庫(kù)自動(dòng)設(shè)置的;這在導(dǎo)數(shù)據(jù)時(shí)很麻煩2012-11-11SQL Server誤區(qū)30日談 第15天 CheckPoint只會(huì)將已提交的事務(wù)寫(xiě)入磁盤(pán)
這個(gè)誤區(qū)是由于太多人對(duì)日志和恢復(fù)系統(tǒng)缺少全面的了解而存在已久。CheckPoint會(huì)將自上次CheckPoint以來(lái)所有在內(nèi)存中改變的頁(yè)寫(xiě)回磁盤(pán)(譯者注:也就是臟頁(yè)),或是在上一個(gè)CheckPoint讀入內(nèi)存的臟頁(yè)寫(xiě)入磁盤(pán)2013-01-01SQLServer"通過(guò)端口1433連接到主機(jī)localhost的TCP/IP連接失敗"常見(jiàn)問(wèn)題的解
今天碰到一個(gè)問(wèn)題,查了很久,這里給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于Java通過(guò)JDBC連接SQLServer?2012出現(xiàn)"通過(guò)端口1433連接到主機(jī)localhost的TCP/IP連接失敗"常見(jiàn)問(wèn)題的解決方案,需要的朋友可以參考下2023-05-05SQL Server中將數(shù)據(jù)導(dǎo)出為XML和Json方法分享
這篇文章主要介紹了SQL Server中將數(shù)據(jù)導(dǎo)出為XML和Json方法分享,本文使用PowerShell中的BCP命令實(shí)現(xiàn)導(dǎo)出為文件,需要的朋友可以參考下2015-02-02