用SQLOLEDB读sql server里的数据,显示多步OLE DB操作产生错误。搜了一下,基本是说数据长度不符问题,还有说是select *的问题。检查了一下我的数据都没有这些问题。
最后发现是数据包太大了,超过了OLE DB Provider的限制。
Packet Size | 指示网络数据包的大小(以字节为单位)。 数据包大小属性值必须介于 512 与 32767 之间。 默认的 SQLOLEDB 网络数据包大小为 4096。 |
在连接字符串里把这个值改大就可以了:
ConnStr = "Provider=SQLOLEDB;Server=xxx;Database=xxx;Uid=xxx;Pwd=xxx;Packet Size=30000;"