国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

SQL Server Bulk Insert 只需要部分字段時(shí)的方法

2020-07-25 13:20:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
根據(jù)一般做法的話,導(dǎo)出部分字段時(shí)沒(méi)有辦法生成格式化XML文件,所以導(dǎo)入時(shí)就沒(méi)有辦法格式化導(dǎo)入數(shù)據(jù)。

我想到兩點(diǎn),1.手工修改格式化XML文件,2.創(chuàng)造一個(gè)能生成格式化XML文件的中間對(duì)象。

在MSDN中尋找方法時(shí),突然想到可以使用視圖來(lái)做中間對(duì)象,于是就搭一個(gè)測(cè)試下。以下是測(cè)試記錄:

復(fù)制代碼 代碼如下:

USE master
GO
CREATE DATABASE [db_test]
GO
USE db_test
GO
CREATE TABLE dbo.T_test(
ID [int] IDENTITY(1,1) NOT NULL,
Code varchar(10) ,
Name varchar(100) ,
Memo nvarchar(500) ,
Memo2 ntext ,
PRIMARY KEY (ID)
)
GO
--上面創(chuàng)建的表是源數(shù)據(jù)表,下面創(chuàng)建是要導(dǎo)入數(shù)據(jù)的表,只有源表的三個(gè)字段
Select Code, Name,Memo into dbo.T_test2 from dbo.T_test Where 1=2

--需求就是把表T_test中的Code,Name導(dǎo)入到T_test2。
--接下來(lái),就是生成導(dǎo)入目標(biāo)表的格式化XML文件,可是MSDN上說(shuō)只能生成某個(gè)對(duì)象的格式化XML文件。
--只好建立一個(gè)中間對(duì)象來(lái)達(dá)到目的,這里我創(chuàng)建的是一個(gè)視圖。
--視圖只包含需要導(dǎo)入的字段
Create View v_test
AS
Select Code,Name From dbo.T_test2
--然后就是BCP操作
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
EXEC sp_configure 'show advanced options', 0;
RECONFIGURE;
GO
EXEC master..xp_cmdshell 'BCP db_test.dbo.v_test format nul -f C:/v_test_fmt.xml -x -c -T -S MyPC/MyDB'
GO
EXEC master..xp_cmdshell 'BCP "select Code, Name from db_test.dbo.T_test" queryout C:/t_test.data -f C:/v_test_fmt.xml -T -S MyPC/MyDB'
GO

--格式化文件和數(shù)據(jù)文件都有了,就成了.
BULK INSERT db_mgr.dbo.v_t1
FROM N'C:/t_test.data'
WITH
(
FORMATFILE = N'C:/v_test_fmt.xml'
)
GO
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 0;
EXEC sp_configure 'show advanced options', 0;
RECONFIGURE;
GO
Drop Database db_test
GO

環(huán)境是sql2005。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 肃北| 百色市| 剑川县| 扎赉特旗| 高碑店市| 团风县| 准格尔旗| 车险| 新宾| 札达县| 会理县| 琼结县| 韶山市| 西青区| 沿河| 丰县| 绩溪县| 满城县| 中山市| 洞头县| 越西县| 宣武区| 甘德县| 蓬溪县| 元氏县| 泽州县| 江孜县| 扎赉特旗| 克拉玛依市| 方城县| 修水县| 抚顺市| 瑞昌市| 昭觉县| 方城县| 北辰区| 吉木乃县| 原阳县| 高台县| 化隆| 吴忠市|