sql >> データベース >  >> RDS >> Sqlserver

行1、列4(年)のバルクロードデータ変換エラー(指定されたコードページのタイプの不一致または無効な文字)

    データファイルには4列しかないため、フォーマットファイルを使用してみてください。それ以外の場合は、OPENROWSETを試してください またはステージングテーブルを使用します。

    myTestFormatFiles.Fmt 次のようになります:

    9.0
    4
    1       SQLINT        0       3       ","      1     StudentNo      ""
    2       SQLCHAR       0       100     ","      2     FirstName      SQL_Latin1_General_CP1_CI_AS
    3       SQLCHAR       0       100     ","      3     LastName       SQL_Latin1_General_CP1_CI_AS
    4       SQLINT        0       4       "\r\n"   4     Year           "


    (ソース:microsoft.com)

    BULK INSERTで列をスキップするこのチュートリアル 役立つかもしれません。

    その場合、ステートメントは次のようになります。

    USE xta9354
    GO
    BULK INSERT xta9354.dbo.Students
        FROM 'd:\userdata\xta9_Students.txt' 
        WITH (FORMATFILE = 'C:\myTestFormatFiles.Fmt')
    


    1. SQL Server:データベースが復元状態でスタックしている

    2. MicrosoftAccessテンプレートを使用する利点

    3. SQLvarchar列の長さのベストプラクティス

    4. SSRS2014レポートのデプロイの問題