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

SQL Server Bulk Insert 只需要部分字段時的方法

熱門標簽:蘭州語音外呼系統(tǒng)運營商 沒聽見電話機器人幫你接 陜西電銷外呼系統(tǒng)好用嗎 最新人工智能電銷機器人 al智能電話機器人 如何做地圖標注圖鋪 成都電話外呼系統(tǒng)一般多少錢 銀川高頻外呼回撥系統(tǒng)多少錢 數(shù)字匠心電銷機器人
根據(jù)一般做法的話,導出部分字段時沒有辦法生成格式化XML文件,所以導入時就沒有辦法格式化導入數(shù)據(jù)。

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

在MSDN中尋找方法時,突然想到可以使用視圖來做中間對象,于是就搭一個測試下。以下是測試記錄:

復制代碼 代碼如下:

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)建是要導入數(shù)據(jù)的表,只有源表的三個字段
Select Code, Name,Memo into dbo.T_test2 from dbo.T_test Where 1=2

--需求就是把表T_test中的Code,Name導入到T_test2。
--接下來,就是生成導入目標表的格式化XML文件,可是MSDN上說只能生成某個對象的格式化XML文件。
--只好建立一個中間對象來達到目的,這里我創(chuàng)建的是一個視圖。
--視圖只包含需要導入的字段
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 存儲過程里,bulk insert table from ''路徑+文件'',路徑固定,文件名不固定的實現(xiàn)方法
  • 使用BULK INSERT大批量導入數(shù)據(jù) SQLSERVER
  • sql server Bulk Insert命令詳細

標簽:本溪 鹽城 邢臺 朔州 遼源 宜春 巴彥淖爾 通化

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