记一次使用openrowset 的坑

前几天被老大训斥连openrowset 都不会用,然后我就去看了文档,想测试一下栗子~

openrowset 的具体语法我就不贴了,戳这里:https://msdn.microsoft.com/zh-cn/library/ms190312(v=sql.120).aspx

按照文档里面的样例来测试,首先创建一个文档 values.txt

1    Data 1 For
2    Data 2 For
3    Data 3 Fro

然后创建一个格式化文件 v.fmt ,具体非xml格式化文件的写法戳这里 :https://msdn.microsoft.com/zh-cn/library/ms191479(v=sql.120).aspx

9.0
2
1 SQLCHAR 0 10 "\t" 1 ID SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 10 "\r\n" 2 Desc SQL_Latin1_General_CP1_CI_AS

然后把这2文档都放在D盘的根目录下,然后执行

SELECT * FROM OPENROWSET( BULK 'D:\values.txt',FORMATFILE = 'D:\v.fmt') AS a;

然后挺萌的出现了 由于文件“D:\v.fmt”不完整或无法读取,无法进行大容量加载。操作系统错误代码为 (null)。

 

然后我找啊找 ……关键是错误代码是 Null 无法找啊!!!

最后……看到是因为不完整或无法读取,我确定原因应该是文件权限或者文件本身问题。然后我先将2个文件按照单行输出,都正常,确认不是文件权限的问题。

然后另外一个不完整。不完整这个,我唯一想到一次因为少了个换行导致不成功,然后我鬼使神差的在fmt文件最后加了一个换行……然后~重新执行!!成功啦!!!!!!

 

PS:别看说得轻松,实际调试了2个多小时/(ㄒoㄒ)/~~

 

转载于:https://www.cnblogs.com/Gin-23333/p/5372164.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值