Site Meter & 線上人數

tracker

部落格觀察


我的噗浪

Google Latitude

微軟認證



聯絡我 - MSN & Skype & Email



最新回應

bcp 匯出與匯入

2008/3/18 20:15| 閱讀數 : 2353 | 我要推薦 | Add Comment | 文章分類: SQLServer 訂閱

參考:bcp 公用程式

上一篇文章【bcp 備份所有資料表】介紹利用 bcp 批次會出資料表,這次介紹利用 bcp 匯入資料的動作。

使用 bcp 匯出

   1:  DECLARE @cmd varchar( 2000 )
   2:  SELECT @cmd = 'bcp SchemaName.DBName.[TableName] out "c:\tablename.txt" -c -T -t "," -r "\n"'
   3:  EXEC master..xp_cmdshell @cmd

 

out [filename] 表示要匯出至某個檔案
-t "," 表示使用 , 來當分隔符號 (預設使用 Tab \t 來當分隔符號)

使用 bcp 匯入

   1:  DECLARE @cmd varchar( 2000 )
   2:  SELECT @cmd = 'bcp SchemaName.DBName.[TableName] in "c:\tablename.txt" -c -T -t "," -r "\n"'
   3:  EXEC master..xp_cmdshell @cmd

 

其實就是把 bcp 指令中的 out 改為 in,就表示從檔案將資料匯入資料表。

或是使用 BULK INSERT 指令也可以進行大量匯入的動作:

   1:  BULK INSERT SchemaName.DBName.[TableName]
   2:  FROM 'c:\tablename.txt'
   3:  WITH (
   4:    BATCHSIZE = 1000,
   5:    FIELDTERMINATOR = ',',
   6:    ROWTERMINATOR = '\n',
   7:    TABLOCK
   8:  )

 

另參考: BULK INSERT Performance by Jeffrey

可能發生錯誤處理 by LOLOTA

  1. FIX: 當您在 Microsoft SQL Server 2005 執行 BULK INSERT 陳述式錯誤訊息: " The 大量載入失敗。 資料行是針對 <n>, <n> 個資料行資料列將資料檔中的 " 太長
    http://support.microsoft.com/kb/942660/zh-tw
     
  2. PRB: SQL Server 連結到遠端資料庫失敗並 7399 錯誤
    http://support.microsoft.com/kb/241267/zh-tw
     
  3. 在 SQL Server 2005 使用 BULK INSERT 陳述式, 將在大量資料時, FIX: 您收到錯誤訊息
    http://support.microsoft.com/kb/935446/zh-tw

 

DotBlogs Tags: chhuang SQLServer


關連文章

回應

目前沒有回應.
標題 *
名稱 *
Email (將不會被顯示)
Url
回應
登入後使用進階評論
Please add 7 and 5 and type the answer here: