加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2021-03-05 14:25:23 所属栏目:MsSql教程 来源:网络整理
导读:我正在尝试导入由.fmt格式定义的文本文件.这个文本文件不是以逗号分隔,而是我称之为列分隔(即前8个字符是第一个字段,接下来的3个字符是第二个字符,等等).当我运行下面的查询时,我得到一个“操作系统错误代码(null)”消息,这是奇怪的,因为我使用SQL Server 200

我正在尝试导入由.fmt格式定义的文本文件.这个文本文件不是以逗号分隔,而是我称之为列分隔(即前8个字符是第一个字段,接下来的3个字符是第二个字符,等等).当我运行下面的查询时,我得到一个“操作系统错误代码(null)”消息,这是奇怪的,因为我使用SQL Server 2008r2与Vista.

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

这是我的查询:

BULK INSERT LoadTable FROM 'Dev2QueriesTest.txt'
WITH (FIRSTROW = 2,FORMATFILE = 'Dev2fmtTest.fmt',KEEPNULLS)

这是我得到的错误:

Cannot bulk load because the file "Dev2fmttest.fmt" could not be read. 
Operating system error code (null).

以下是Test.fmt包含的内容:

9.0
7
1   SQLCHAR 0   8   ""  1   Record_Control_Data SQL_Latin1_General_CP1_CI_AS
2   SQLCHAR 0   3   ""  2   Filler  ""
3   SQLCHAR 0   1   ""  3   Member_Code SQL_Latin1_General_CP1_CI_AS
4   SQLCHAR 0   2   ""  4   Member_Sequence_Number  SQL_Latin1_General_CP1_CI_AS
5   SQLCHAR 0   9   ""  5   Participant_SSN SQL_Latin1_General_CP1_CI_AS
6   SQLCHAR 0   20  ""  6   LastName    SQL_Latin1_General_CP1_CI_AS
7   SQLCHAR 0   250 "rn"  7   Filler10    SQL_Latin1_General_CP1_CI_AS

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

编辑

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

解决方法

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

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读