佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > SQL Server Bulk Insert 只需要部分字段時(shí)的方法

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

熱門標(biāo)簽:地方門戶網(wǎng)站 Linux服務(wù)器 AI電銷 百度競價(jià)排名 服務(wù)外包 網(wǎng)站排名優(yōu)化 呼叫中心市場需求 鐵路電話系統(tǒng)
根據(jù)一般做法的話,導(dǎo)出部分字段時(shí)沒有辦法生成格式化XML文件,所以導(dǎo)入時(shí)就沒有辦法格式化導(dǎo)入數(shù)據(jù)。

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

在MSDN中尋找方法時(shí),突然想到可以使用視圖來做中間對(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。
--接下來,就是生成導(dǎo)入目標(biāo)表的格式化XML文件,可是MSDN上說只能生成某個(gè)對(duì)象的格式化XML文件。
--只好建立一個(gè)中間對(duì)象來達(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。
您可能感興趣的文章:
  • mssql server 存儲(chǔ)過程里,bulk insert table from ''路徑+文件'',路徑固定,文件名不固定的實(shí)現(xiàn)方法
  • 使用BULK INSERT大批量導(dǎo)入數(shù)據(jù) SQLSERVER
  • sql server Bulk Insert命令詳細(xì)

標(biāo)簽:崇左 蘭州 黃山 銅川 湘潭 仙桃 湖南 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server Bulk Insert 只需要部分字段時(shí)的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    精河县| 邛崃市| 娄烦县| 铜鼓县| 长宁县| 揭东县| 武陟县| 南岸区| 泰和县| 紫金县| 永定县| 蓝山县| 兴隆县| 秭归县| 资溪县| 青河县| 乌拉特后旗| 汽车| 荥经县| 车险| 长沙市| 宜州市| 聂拉木县| 南和县| 高清| 英超| 苗栗市| 汉阴县| 沙田区| 绥阳县| 青州市| 闵行区| 福鼎市| 洪洞县| 衡南县| 徐州市| 沙河市| 沅陵县| 石景山区| 鹰潭市| 凤冈县|