我有一个我最近重访的工作应用程序。
我将文件存储在MSSQL数据库的文本字段中。我将它读入ADOTable并作为TBlobfield调用Savetofile将其写入磁盘上的文件。这一直都有效。但是现在它只是保存一个8字节的文件而不是正确的文件。
我之前对这种情况有一种模糊的记忆,并且想知道是否有人遇到它并知道解决方案?我正在使用Delphi 7。
答案 0 :(得分:4)
数据库中有什么变化(服务器/版本升级)?客户端机器(XP?Vista?)?调用SaveToFile方法时可能保存了什么(可能文件只有8个字节)?字段可以为空/ null吗?
我建议不要对基于集合的RDBMS(MSSQL,Oracle等)使用基于表的组件(TTable,TADOTable等),使用TADODataSet并确保应用了所有D7 / ADO补丁。
祝你好运答案 1 :(得分:1)
几年前(ado的旧版本),如果blob字段不是查询中的最后一个字段,则会出现问题。我不知道它仍然是真的
答案 2 :(得分:0)
这个问题是由于我没有应用Delphi 7 Update 1直接导致的。
这是已发布的Delphi 7版本中的一个已知错误。