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

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

熱門標(biāo)簽:蘭州語(yǔ)音外呼系統(tǒng)運(yùn)營(yíng)商 沒(méi)聽見電話機(jī)器人幫你接 陜西電銷外呼系統(tǒng)好用嗎 最新人工智能電銷機(jī)器人 al智能電話機(jī)器人 如何做地圖標(biāo)注圖鋪 成都電話外呼系統(tǒng)一般多少錢 銀川高頻外呼回?fù)芟到y(tǒng)多少錢 數(shù)字匠心電銷機(jī)器人
根據(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。
您可能感興趣的文章:
  • mssql server 存儲(chǔ)過(guò)程里,bulk insert table from ''路徑+文件'',路徑固定,文件名不固定的實(shí)現(xiàn)方法
  • 使用BULK INSERT大批量導(dǎo)入數(shù)據(jù) SQLSERVER
  • sql server Bulk Insert命令詳細(xì)

標(biāo)簽:本溪 鹽城 邢臺(tái) 朔州 遼源 宜春 巴彥淖爾 通化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server Bulk Insert 只需要部分字段時(shí)的方法》,本文關(guān)鍵詞  SQL,Server,Bulk,Insert,只,需要,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server Bulk Insert 只需要部分字段時(shí)的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于SQL Server Bulk Insert 只需要部分字段時(shí)的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章