我正在尝试使用SSIS将数据从utf-8编码的平面文件导入SQL Server 2008。这就是Notepad ++中行数据的结尾:
我还有几张图片展示了文件连接管理器的样子:
您可以在文件连接管理器预览中看到数据正确显示。当我尝试导入此数据时,不导入任何行。我收到一条错误消息,指出未找到行分隔符。您可以在文件连接管理器映像中看到标题行分隔符和行分隔符都设置为{LF}
。这足以生成正确的预览,所以我迷失了为什么它无法导入。我尝试过很多结果为零的事情:
[平面文件来源[582]]警告: 到达数据文件的末尾 读标题行。确保 标题行分隔符和数字 要跳过的标题行是正确的。
感谢您查看此内容,我非常感谢您提供的任何帮助。
答案 0 :(得分:62)
答案 1 :(得分:1)
上面的答案看起来非常复杂,只需转换文件中的行结尾
即可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)
从here
重新开始答案 2 :(得分:0)
如果您尝试通过Windows上的SSIS使用在Unix,Mac等其他平台上生成的FlatFile,也会出现此问题
在这种情况下,您需要做的就是使用unix2dos命令将文件格式从UNIX转换为DOS
unix2dos file-to-convert