簡體   English   中英

使用大容量插入插入日期

[英]Inserting Dates with BULK INSERT

我有一個CSV文件,其中包含三個日期:

    '2010-07-01','2010-08-05','2010-09-04'

當我嘗試批量插入它們時...

    BULK INSERT [dbo].[STUDY]
        FROM 'StudyTable.csv' 
        WITH 
        ( 
            MAXERRORS = 0,
            FIELDTERMINATOR = ',',
            ROWTERMINATOR = '\n'
        )

我收到一個錯誤:

    Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 1 (CREATED_ON).

所以我假設這是因為我的日期格式無效。 什么是正確使用的格式?

編輯

    CREATE TABLE [dbo].[STUDY]
    (
        [CREATED_ON] DATE,
        [COMPLETED_ON] DATE,
        [AUTHORIZED_ON] DATE,
    }

您的日期前后都有引號(')。 刪除那些,它應該工作。

您的數據文件是否有標頭記錄? 如果是這樣,顯然您的表名將不是正確的數據類型,並且當SQL Server嘗試將它們插入表中時將失敗。 嘗試這個:

BULK INSERT [dbo].[STUDY]
    FROM 'StudyTable.csv' 
    WITH 
    ( 
        MAXERRORS = 0,
        FIELDTERMINATOR = ',',
        ROWTERMINATOR = '\n',
        FIRSTROW = 2
    )

根據MSDN ,BULK INSERT操作在技術上不支持在CSV文件中跳過標頭記錄。 您可以刪除標題記錄,也可以嘗試以上操作。 我目前還沒有SQL Server,因此我尚未確認這行得通。 YMMV。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM