口'STREAM' 返回了对列 '[!BulkInsert].field' 无效的数据

向SQL Server2005中导入数据出现“SQL 错误描述为: 链接服务器 '(null)' 的 OLE DB 访问接口'STREAM' 返回了对列 '[!BulkInsert].field' 无效的数据”解决方案

MSSQL 2009-09-08 10:37:00 阅读198 评论0 字号:

问题:

向SQL Server2005里导入数据是出现错误“SQL 错误描述为: 链接服务器 '(null)' 的 OLE DB 访问接口'STREAM' 返回了对列 '[!BulkInsert].field' 无效的数据”,已打了SQL Server2005的最新补丁,在SQL Server2008里有同样的问题。

BaiDu了下,有人说好像是SQL 2005的一个未公开的Bug,在SQL Server2000里没有这样的问题。

解决:

在SQL Server启动过程中增加参数4808。

1. 在 SQL Server 配置管理器中,单击“SQL Server 服务”。

2. 在右窗格中,右键单击 SQL Server (<实例名>),再单击“属性”。

3. 在“高级”选项卡的“启动参数”框中,键入“;-T4808”(加分号和-T4808)。 

4.设置完成后,重启SQL Server服务,在查询分析器中执行“DBCC tracestatus”,返回结果:

向SQL Server2005中导入数据出现“SQL 错误描述为: 链接服务器 (null) 的 OLE DB 访问接口STREAM 返回了对列 [!BulkInsert].field 无效的数据”解决方案  - Jamie - Jamie的博客

表明参数设置成功。

转载于:https://www.cnblogs.com/yxbsmx/articles/1672351.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用流(Stream)对 Field 数组进行操作,并将结果转换为 Map,可以使用 `Arrays.stream()` 方法将数组转换为流,然后使用 `collect()` 方法结合 `Collectors.toMap()` 来实现。以下是一个示例: ```java Map<String, Field> fieldMap = Arrays.stream(fields) .collect(Collectors.toMap( Field::getName, // 将 Field 对象的名称作为键 Function.identity() // 将整个 Field 对象作为值 )); ``` 在上述示例中,`Field::getName` 是将 Field 对象的名称提取为键的方法引用,`Function.identity()` 是一个特殊的函数,它返回输入元素本身作为值。 通过这种方式,你可以根据具体的需求来定义键和值的转换逻辑,并使用 `collect(Collectors.toMap())` 方法将流中的元素转换为 Map。 请注意,如果 Field 数组中存在相同的键(名称),则会抛出 `IllegalStateException`。如果你需要处理重复键的情况,可以使用 `toMap()` 方法的第三个参数来指定如何处理重复键,例如使用 `mergeFunction` 或者 `Map.Entry::getValue` 等。 另外,如果你想要确保 Map 的顺序与 Field 数组中的顺序一致,可以使用 `LinkedHashMap` 来存储结果。你可以将上述示例中的 `toMap()` 方法替换为以下代码: ```java Map<String, Field> fieldMap = Arrays.stream(fields) .collect(Collectors.toMap( Field::getName, Function.identity(), (existingValue, newValue) -> existingValue, LinkedHashMap::new )); ``` 在这个示例中,我们提供了一个合并函数 `(existingValue, newValue) -> existingValue`,它会保留原始的键值对顺序。 希望这个示例对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值