☆ 讀 .txt檔後,寫入db中 (只寫入一筆,不拆欄位)
1.TABLE eHRMSDB_ITRD.dbo.tmp951024 定義只有一個欄位
2.TXT檔 920002,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000=78
BULK INSERT eHRMSDB_ITRD.dbo.tmp951024
FROM 'C:\overwork.txt'; --匯入檔案的路徑
GO
☆ 讀 .txt檔後,寫入db中 (用逗號拆欄位)
1.TABLE eHRMSDB_ITRD.dbo.tmp951024 定義只有十三個欄位,全部定義CHAR
2.TXT檔 920002,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000=78
BULK INSERT eHRMSDB_ITRD.dbo.tmp951025 FROM 'C:\overwork.txt'
WITH (
DATAFILETYPE = 'char', --欄位定義為char
FIELDTERMINATOR = ',', --用逗號作為分隔
ROWTERMINATOR = '\n' -- ROWTERMINATOR = '\n
' (指定資料列結束字元為新行字元)
);
GO
☆ 讀 .txt檔後,寫入db中 (用非XML的格式檔案,利用逗號來拆欄位)
1.TABLE eHRMSDB_ITRD.dbo.tmp951024 定義只有十三個欄位,分別定義CHAR & INT
2.TXT檔 920002,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000=78
用來分隔資料檔中欄位的分隔符號。一般的結束字元為逗點 (,)、定位點 (\t) 和行尾 (\r\n)。如需詳細資訊,請參閱<指定欄位和資料列結束字元>。
以互動方式使用 bcp 並指定 \n (新行) 做為資料列結束字元時,bcp 會自動以 \r (歸位字元) 字元當作前置詞,進而產生資料列結束字元 \r\n。
BULK INSERT eHRMSDB_ITRD.dbo.tmp951023
FROM 'C:\overwork.txt'
WITH
(
FIRSTROW=1,
FORMATFILE= 'C:\overwork.fmt', ------格式檔案
MAXERRORS=78,
TABLOCK
)
C:\overwork.fmt', ------格式檔案
主檔案資料類型定義 -SQLCHAR,表示檔案裡原先的型別,雖然自認為數字,但是轉出來會有問題,所以用SQLCHAR來轉,就會OK
8.0 13 1 SQLCHAR 0 6 "," 1 empid Chinese_Taiwan_Stroke_CI_AS 2 SQLCHAR 0 5 "," 2 m1 "" 3 SQLCHAR 0 5 "," 3 m2 "" 4 SQLCHAR 0 5 "," 4 m3 "" 5 SQLCHAR 0 5 "," 5 m4 "" 6 SQLCHAR 0 5 "," 6 m5 "" 7 SQLCHAR 0 5 "," 7 m6 "" 8 SQLCHAR 0 5 "," 8 m7 "" 9 SQLCHAR 0 5 "," 9 m8 "" 10 SQLCHAR 0 5 "," 10 m9 "" 11 SQLCHAR 0 5 "," 11 m10 "" 12 SQLCHAR 0 5 "," 12 m11 "" 13 SQLCHAR 0 5 "\r\n" 13 m12 ""
詳細請參考 http://technet.microsoft.com/zh-tw/library/ms189110.aspx