一括挿入を使用して CSV ファイルを SQL Server にインポートしようとしていました。
今、私は繰り返しエラーを受け取っていました
一括読み込みに失敗しました。データ ファイルの行 1、列 6 の列が長すぎます。フィールド ターミネータと行ターミネータが正しく指定されていることを確認してください。
ただし、最初に、正規表現を使用して印刷できないすべての文字を削除し、各行の最後に明示的に「\ n」を配置するJavaコードを実行しました(そして、データ全体を新しいファイルに挿入しました)。しかし、この後も、インポートで上記のエラーが発生していました。
ただし、ファイルをテキストパッドで開いたところ、「Unix」ファイルとして保存されていることがわかりました。これを「Windows」ファイル形式に変更して保存したところ、インポートが機能しました。
私が知りたいのは、Unix ファイル形式と Windows ファイル形式の違いです。これにより、Unix ファイルを開いて Windows ファイル形式で再度保存するのではなく、Java コード自体でこの問題を処理できるようになります。
編集 -
これは、上記のエラーを引き起こしているコードです---
BULK INSERT GooglePatentsIndividualDec2012.dbo.patent
FROM 'C:\Arvind_gpd\patents\4patents_corrected.csv'
WITH
(
DATAFILETYPE = 'char',
FIELDTERMINATOR = '^',
ROWTERMINATOR = '\n'
);