偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

使用bcp進(jìn)行大數(shù)據(jù)量導(dǎo)出導(dǎo)入

數(shù)據(jù)庫(kù)
BCP是SYBASE公司提供專門用于數(shù)據(jù)庫(kù)表一級(jí)數(shù)據(jù)備份的工具,本文中將為大家介紹BCP的另外一種功能,即使用bcp進(jìn)行大數(shù)據(jù)量導(dǎo)出導(dǎo)入。

導(dǎo)讀:數(shù)據(jù)的導(dǎo)入導(dǎo)出,相信很多人都非常熟悉,可是當(dāng)涉及到大量數(shù)據(jù)的導(dǎo)入導(dǎo)出時(shí),就會(huì)出現(xiàn)很多的問(wèn)題,下面就為大家講解一種能夠?qū)崿F(xiàn)大量數(shù)據(jù)導(dǎo)入導(dǎo)出的方法,就是使用BCP的方案。

SQL Server的導(dǎo)出導(dǎo)入方式有:

1、在SQL Server中提供了導(dǎo)入導(dǎo)出的界面操作。
2、在界面操作中又分【復(fù)制一個(gè)或多個(gè)表或視圖的數(shù)據(jù)】和【編寫查詢以指定要傳輸?shù)臄?shù)據(jù)】?jī)煞N模式,第一種是直接對(duì)表、視圖進(jìn)行全部字段、記錄進(jìn)行導(dǎo)出,而第二種就是可以通過(guò)SQL語(yǔ)句來(lái)控制導(dǎo)出導(dǎo)入的字段和行。
3、使用簡(jiǎn)單但有用的SQL腳本 中的【表復(fù)制】這里面的方法。

4、再一種就是在命令行中使用bcp命令來(lái)導(dǎo)入導(dǎo)出數(shù)據(jù),需要特別說(shuō)明的是,這是對(duì)大數(shù)據(jù)量導(dǎo)入導(dǎo)出就好的辦法。下面是我實(shí)踐出來(lái)可以使用的腳本,但是我在使用bcp的時(shí)候遇到了一些問(wèn)題,希望大家給于幫助。謝謝。(PS:?jiǎn)栴}在下面代碼中)使用xp_cmdshell的時(shí)候可能會(huì)有些問(wèn)題,可以參考:MSsql2005 如何啟用xp_cmdshell <!--[endif]-->
還沒(méi)有解決的問(wèn)題
1:使用BCP命令時(shí)如果導(dǎo)出的字段為空想替換為其它描述(比如替換成NULL)如何辦?
2:使用 case when 時(shí)就會(huì)出現(xiàn)1023字節(jié)的問(wèn)題,那有沒(méi)其它辦法解決呢?
3:使用BCP命令導(dǎo)出大數(shù)據(jù)量時(shí)出現(xiàn)錯(cuò)誤:查詢提示超過(guò)了最大目錄緩沖區(qū) 1023 字節(jié)(2164 字節(jié)輸入)。
備注
1:已經(jīng)使用了Coalesce代替case when,但是還是超出字符數(shù)了。
2:對(duì)以網(wǎng)上說(shuō)的放到Temp數(shù)據(jù)庫(kù)中、中間表,這些?但是數(shù)據(jù)表幾十G了,還能這樣?

整個(gè)表導(dǎo)出(out)
bcp 數(shù)據(jù)庫(kù)名.dbo.表名 out c:\currency.txt -S"數(shù)據(jù)庫(kù)實(shí)例" -U"用戶" -P"密碼" -c

使用SQL語(yǔ)句導(dǎo)出(queryout)
bcp "select * from 數(shù)據(jù)庫(kù)名.dbo.表名" queryout c:\currency.txt -S 數(shù)據(jù)庫(kù)實(shí)例 -U"用戶" -P"密碼" -c

設(shè)置字段分隔符和行分隔符(-c -t"," -r"\n"),不想輸入字段類型等請(qǐng)配合-c一起使用
bcp "select * from 數(shù)據(jù)庫(kù)名.dbo.表名" queryout c:\currency.txt -S 數(shù)據(jù)庫(kù)實(shí)例 -U"用戶" -P"密碼" -c -t"," -r"\n"

指定每批導(dǎo)入數(shù)據(jù)的行數(shù)、指定服務(wù)器發(fā)出或接收的每個(gè)網(wǎng)絡(luò)數(shù)據(jù)包的字節(jié)數(shù)(-k -b5000 -a65535)
bcp "select * from 數(shù)據(jù)庫(kù)名.dbo.表名" queryout c:\currency.txt -S 數(shù)據(jù)庫(kù)實(shí)例 -U"用戶" -P"密碼" -c -t"," -r"\n" -k -b5000 -a65535

在查詢分析器上執(zhí)行(EXEC master..xp_cmdshell)
EXEC master..xp_cmdshell 'bcp "select * from 數(shù)據(jù)庫(kù)名.dbo.表名" queryout c:\currency.txt -S 數(shù)據(jù)庫(kù)實(shí)例 -U"用戶" -P"密碼" -c'

把SQL語(yǔ)句生成一個(gè).sql文件,然后調(diào)用
注:路徑的文件夾名稱中間不能有空格
exec master..xp_cmdshell 'osql -S 數(shù)據(jù)庫(kù)實(shí)例 -U 用戶 -P 密碼 -i C:\cmdshellTest.sql'

將數(shù)據(jù)導(dǎo)入到currency表中
EXEC master..xp_cmdshell 'bcp 數(shù)據(jù)庫(kù)名.dbo.表名 in c:\currency.txt -c -T'
導(dǎo)入數(shù)據(jù)也同樣可以使用-F和-L選項(xiàng)來(lái)選擇導(dǎo)入數(shù)據(jù)的記錄行。
EXEC master..xp_cmdshell 'bcp 數(shù)據(jù)庫(kù)名.dbo.表名 in c:\currency.txt -c -F 10 -L 13 -T'
在使用命令xp_cmdshell的時(shí)候需要設(shè)置權(quán)限:

/*MSsql2005 如何啟用xp_cmdshell
默認(rèn)情況下,sql server2005安裝完后,xp_cmdshell是禁用的(可能是安全考慮),如果要使用它,可按以下步驟
*/
允許配置高級(jí)選項(xiàng)
EXEC sp_configure 'show advanced options', 1
GO
重新配置
RECONFIGURE
GO
啟用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
重新配置
RECONFIGURE
GO

執(zhí)行想要的xp_cmdshell語(yǔ)句
Exec xp_cmdshell 'query user'
GO

允許配置高級(jí)選項(xiàng)
EXEC sp_configure 'show advanced options', 1
GO
 重新配置
RECONFIGURE
GO
禁用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 0
GO
重新配置
RECONFIGURE
GO
或者使用圖形界面:

 


應(yīng)用上文中介紹的方法就能夠輕松實(shí)現(xiàn)使用bcp進(jìn)行大數(shù)據(jù)量導(dǎo)出導(dǎo)入,希望大家通過(guò)上文的學(xué)習(xí),都能夠很熟練的掌握這個(gè)技巧,相信這在您以后工作中遇到類似問(wèn)題時(shí)會(huì)非常有幫助的。

【編輯推薦】

  1. 數(shù)據(jù)庫(kù)之間進(jìn)行數(shù)據(jù)導(dǎo)入導(dǎo)出
  2. Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出實(shí)例探討
  3. 靠BCP恢復(fù)SQL Server 2000數(shù)據(jù)庫(kù)
  4. MySQL數(shù)據(jù)導(dǎo)入導(dǎo)出方法與工具介紹
責(zé)任編輯:迎迎 來(lái)源: 博客園
相關(guān)推薦

2024-07-30 15:56:42

2009-12-08 09:21:13

WCF數(shù)據(jù)量

2009-12-08 15:19:58

WCF大數(shù)據(jù)量

2021-01-07 07:46:34

MyBatis 數(shù)據(jù)量JDBC

2017-11-22 15:33:56

MySQL快速插入語(yǔ)句優(yōu)化

2010-07-29 13:30:54

Hibari

2010-12-01 09:18:19

數(shù)據(jù)庫(kù)優(yōu)化

2011-03-17 13:23:08

數(shù)據(jù)導(dǎo)入導(dǎo)出

2018-09-06 16:46:33

數(shù)據(jù)庫(kù)MySQL分頁(yè)查詢

2010-05-05 10:30:46

MongoDBNoSQL

2012-12-26 09:23:56

數(shù)據(jù)庫(kù)優(yōu)化

2011-08-16 09:21:30

MySQL大數(shù)據(jù)量快速語(yǔ)句優(yōu)化

2018-05-15 08:44:44

TensorFlowKeras內(nèi)存

2010-06-28 15:12:11

SQL Server數(shù)

2014-02-24 09:48:05

大數(shù)據(jù)

2025-03-26 00:35:00

Javaweb開(kāi)發(fā)

2015-03-09 10:40:44

MySQL大量數(shù)據(jù)插入

2022-08-31 15:35:34

數(shù)據(jù)高效

2010-03-29 16:16:59

Oracle exp備

2013-12-18 11:11:43

UPYUN數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)