我尝试使用ODBC驱动程序将文件存储到SQL服务器中定义为varbinary(max)
的列,当我使用SQL服务器驱动程序时,我得到:
text,ntext或image指针值与指定的列名冲突,text / image列的insert / updtae未成功
当我使用本机客户端驱动程序时,我得到了
字符串数据右截断
两者都是MSDN中记录的相同问题的症状。插入大于400kb的BLOB将触发此错误,任何建议的修复!?
不能选择迁移到OleDB。
我机器上安装的sqlsrv32.dll
是文件版本:6.1.7601.17514
答案 0 :(得分:0)
最后我设法找到正确的方法, 您所要做的只是在'DoFieldExchange'功能中: m_rgODBCFieldInfos [6] .m_nSQLType = -4;
总是应该在查询结束时找到BLOB,所以m_rgODBCFieldInfos ['x']指的是你在这个数组中的m_nFields-1位置,如果你有多个BLOB,你应该询问哪一个是哪个。< / p>
在我的情况下,这个解决方案解决了两个例外:
“字符串数据,右截断。”
:
“text,ntext或image指针值与指定的列名冲突,text / image列的insert / updtae没有成功”
干杯:)