2017-10-19 30 views
1

我有一個excel文件,這些列的數據:ID,姓名,電話號碼。但是SQL中的表格也需要地址 - 這不在excel文件中。這導致以下錯誤:如何從excel文件中批量插入與表格不同的列?

Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for column address

如果我刪除從SQL Server中的表中的地址欄,我不導入時出現此錯誤。導入後地址字段爲空白,我可以。

這裏是我的進口SQL:

BULK INSERT tableName FROM filePath 
WITH (
Datafiletype = 'char', 
Fieldterminator = '\t', 
Rowterminator = '\n', 
Firstrow = 2 
) 

我使用的SQL Server。

+0

這是一個哈克的方式,但什麼阻止你使用Excel文本結合,使一個巨大的INSERT查詢出來的? – Magisch

+0

Like假設你放下'INSERT INTO myTable(Id,Name,Phone)VALUES',然後爲Excel表格中的每一行做'=「(」+ A1 +「,'」+ B1 +「','」 + C1 +'),「'然後將它們連接在一起然後執行它。 – Magisch

回答

3

您可以創建一個視圖:

create view v_tableName as 
    select id, name, phone_number 
    from tableName; 

然後將文件加載到視圖:

BULK INSERT v_tableName FROM filePath 
    WITH (Datafiletype = 'char', 
      Fieldterminator = '\t', 
      Rowterminator = '\n', 
      Firstrow = 2 
     ); 
相關問題