【问题标题】:Why is TADOBlobField.Savetofile only writing 8 Bytes为什么 TADOBlobField.Savetofile 只写 8 个字节
【发布时间】:2010-10-17 23:46:35
【问题描述】:

我最近重新访问了一个正在运行的应用程序。

我将文件存储在 MSSQL 数据库的文本字段中。我将它读入 ADOTable 并作为 TBlobfield 调用 Savetofile 将其写入磁盘上的文件。这一直有效。但是现在它只是保存一个 8 字节的文件而不是正确的文件。

我对以前发生过这种情况有一个模糊的记忆,想知道是否有人遇到过它并知道解决方案?我正在使用 Delphi 7。

【问题讨论】:

    标签: delphi adodb


    【解决方案1】:

    数据库中是否有任何变化(服务器/版本升级)?客户端机器(XP?Vista?)?调用 SaveToFile 方法时保存的是什么(可能文件只有 8 个字节)?该字段是否可以为空/null?

    我建议不要对基于集合的 RDBMS(MSSQL、Oracle 等)使用基于表的组件(TTable、TADOTable 等),使用 TADODataSet 并确保应用了所有 D7/ADO 补丁。

    祝你好运

    【讨论】:

    • Delphi 7 没有应用更新 1。这是更新 1 修复的已知错误。
    【解决方案2】:

    几年前(旧版本的 ado),如果 blob 字段不是查询中的最后一个字段,就会出现问题。我不知道它仍然是真的

    【讨论】:

      【解决方案3】:

      这个问题是我没有应用Delphi 7 Update 1直接导致的。

      这是 Delphi 7 发布版本中的一个已知错误。

      【讨论】:

        猜你喜欢
        • 2021-01-08
        • 2018-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-28
        • 2015-11-30
        • 2017-09-04
        • 2011-06-26
        相关资源
        最近更新 更多