SSISを使用して、utf-8エンコードされたフラットファイルからSQL Server 2008にデータをインポートしようとしています。これは、Notepad ++で行データの終わりがどのように見えるかです。
ファイル接続マネージャがどのように見えるかを示す画像がさらに2つあります。
ファイル接続マネージャーのプレビューでデータが正しく表示されていることがわかります。このデータをインポートしようとすると、行がインポートされません。行区切り文字が見つからなかったことを示すエラーメッセージが表示されます。ファイル接続マネージャーの画像で、ヘッダー行区切り文字と行区切り文字が両方とも{LF}
に設定されていることがわかります。これは正しいプレビューを生成するのに十分だったので、インポートが機能しない理由がわかりません。私は結果がゼロになった多くのことを試しました:
[フラットファイルソース[582]]警告:ヘッダー行の読み取り中にデータファイルの終わりに達しました。ヘッダー行の区切り文字とスキップするヘッダー行の数が正しいことを確認してください。
これを見てくれてありがとう、そしてあなたが提供できるどんな助けにも本当に感謝します。
上記の答えはひどく複雑なようです、ファイルの行末を変換するだけです
Dim FileContents As String = My.Computer.FileSystem.ReadAllText("c:\Temp\UnixFile.csv")
Dim NewFileContents As String = FileContents.Replace(vbLf, vbCrLf)
My.Computer.FileSystem.WriteAllText("c:\temp\WindowsFile.csv", NewFileContents, False, New System.Text.UnicodeEncoding)
ここ から再ハッシュ
この問題は、WindowsのSSISを介してUnix、Macなどの別のプラットフォームで生成されたFlatFileを使用しようとした場合にも発生します。
このようなシナリオでは、unix2dosコマンドを使用して、ファイル形式をUNIXからDOSに変換するだけです。
unix2dos file-to-convert