sql-server – 批量插入w/.fmt文件:操作系统错误代码(null)

前端之家收集整理的这篇文章主要介绍了sql-server – 批量插入w/.fmt文件:操作系统错误代码(null)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试导入由.fmt格式定义的文本文件.这个文本文件不是以逗号分隔,而是我称之为列分隔(即前8个字符是第一个字段,接下来的3个字符是第二个字符,等等).当我运行下面的查询时,我得到一个“操作系统错误代码(null)”消息,这是奇怪的,因为我使用sql Server 2008r2与Vista.

请向我解释这个错误信息的含义以及如何解决它?我用Google搜索并在其他论坛上发现了类似的问题,但它们从未得到过真正的回答.

这是我的查询

  1. BULK INSERT LoadTable FROM '\\Dev2\Queries\Test.txt'
  2. WITH (FIRSTROW = 2,FORMATFILE = '\\Dev2\fmt\Test.fmt',KEEPNULLS)

这是我得到的错误

  1. Cannot bulk load because the file "\\Dev2\fmt\test.fmt" could not be read.
  2. Operating system error code (null).

以下是Test.fmt包含的内容

  1. 9.0
  2. 7
  3. 1 sqlCHAR 0 8 "" 1 Record_Control_Data sql_Latin1_General_CP1_CI_AS
  4. 2 sqlCHAR 0 3 "" 2 Filler ""
  5. 3 sqlCHAR 0 1 "" 3 Member_Code sql_Latin1_General_CP1_CI_AS
  6. 4 sqlCHAR 0 2 "" 4 Member_Sequence_Number sql_Latin1_General_CP1_CI_AS
  7. 5 sqlCHAR 0 9 "" 5 Participant_SSN sql_Latin1_General_CP1_CI_AS
  8. 6 sqlCHAR 0 20 "" 6 LastName sql_Latin1_General_CP1_CI_AS
  9. 7 sqlCHAR 0 250 "\r\n" 7 Filler10 sql_Latin1_General_CP1_CI_AS

(此test.fmt和test.txt是具有120列的数据集的简化版本.但错误消息是相同的.一旦我可以运行此测试版本,我将修复应用于实际数据)

编辑

为了回应网络上的其他半答案,我应该对这些文件夹及其完整的读/写权限.文件.

解决方法

.fmt文件最后需要一个空行.

猜你在找的MsSQL相关文章