【问题标题】:Bulk Upload: "unexpected end of file" on new server批量上传:新服务器上的“文件意外结束”
【发布时间】:2011-07-25 10:43:46
【问题描述】:

我正在尝试在我们的 sql 数据库中的一个表中进行批量上传。当我们在不同的服务器上拥有数据库时,此查询运行良好,但现在在新服务器上出现错误。 这就是我所拥有的: sql批量导入查询:

BULK
INSERT NewProducts
FROM 'c:\newproducts.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO

我得到的错误是:

Msg 4832, Level 16, State 1, Line 1
Bulk load: An unexpected end of file was encountered in the data file.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".

提前感谢您的帮助。

【问题讨论】:

  • 新旧服务器的版本/软件是什么?

标签: sql-server bulkinsert


【解决方案1】:

对于遇到此问题并寻找答案的任何其他人,当您的 CSV 文件中的列数与您正在执行批量插入的表的列数不匹配时,也会发生此错误。

【讨论】:

  • 我知道这是一篇很老的帖子,但伙计谢谢你,让我重新检查。
【解决方案2】:

我以前遇到过这种情况,有几件事要寻找:

  1. 确保您的 csv 文件顶部没有任何空白行。
  2. 确保文件末尾没有额外的空白行。
  3. 确保 ROWTERMINATOR 实际上是 \n 而不是 \r\n

如果您完成了所有这三个操作并且仍然收到错误,请告诉我。

【讨论】:

  • Brian,感谢您的帮助,但我检查了所有这些东西,我只做了两行的测试,我仍然得到相同的错误
  • 你签入记事本了吗?我发现 Excel 在跟踪无关空白时并不是很有帮助。
  • 是的,在记事本中是一样的。没有多余的空格一切看起来都一样,我不知道为什么会出现这个错误
【解决方案3】:

在我的情况下,我试图访问的文件位于 SQL Sever 进程无权访问的目录中。我将我的平面文件移动到 SQL 可以访问的目录中,这个错误得到了解决。

【讨论】:

    猜你喜欢
    • 2015-07-03
    • 1970-01-01
    • 2011-03-16
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 2019-05-14
    • 2019-04-18
    相关资源
    最近更新 更多