我测试了一下,你的代码没有什么问题。
我可以把jpg,rar保存到SQL Server 2005 Express中,也能够从SQL Server 2005 Express中正常地导出,导出文件能正常打开和解压。
但是所有文件保存进SQL Server 后,会在前面加入8直接的前导内容,估计是数据的字节数。
从SQL Server导出时,会去除8字节的前导字节后保存到文件。
我又测试了一下,把问题搞得更清楚一些。
使用writebinarytodb2.vi可以把所有文件保存进SQL Server,但是会在前面加入4字节的前导内容,是数据的字节数。
但是readbinaryfromdb2.vi从SQL Server导出文件时,不会去除4字节的前导字节,因此会造成文件多4字节的前导。
解决办法有两个:
(1)修改writebinarytodb2.vi,使其导入文件是把产生4字节的前导字节。
(2)修改readbinaryfromdb2.vi,使其导出文件时把4字节的前导字节去除。