【问题标题】:storing and retrieving large strings in SQLite with ADO and VBScript使用 ADO 和 VBScript 在 SQLite 中存储和检索大字符串
【发布时间】:2013-02-21 01:29:45
【问题描述】:

我正在使用 VBscript、ADO 和 SQLite ODBC 驱动程序来存储和检索大字符串 (~5KB)。存储它们可以正常工作,可能是因为我可以在绑定插入语句的参数时指定大小。但是,当我尝试检索这些字符串时,我正确地获得了前 256 个(或 255 个)字符,但其余的接缝来自随机内存区域。我做错了什么(除了使用 VBscript 和 ADO...)?

我对将文本存储为二进制数据的想法持开放态度。但是我尝试过的功能(稍后检索它)不起作用。

【问题讨论】:

  • ADO 有一个 GetChunk 方法。 support.microsoft.com/kb/180368
  • 我已经尝试过了,但是...“此方法不适用于 Record 对象的 Field 对象。” (w3schools.com/ado/met_field_getchunk.asp)
  • 看看这里有没有什么对你有帮助的:motobit.com/tips/detpg_binarytostring
  • 我也在看那个。但由于存储或二进制/字符串不是问题,也许我真正的问题是“如何在执行 SELECT 后控制记录集中的结构和类型”
  • 我可能会放弃:“使用 ODBC 游标库,不可能对从存储过程返回的记录集使用 GetChunk 或 AppendChunk 方法。这是因为通常不会检索 BLOB 数据其余数据以节省带宽。当存储过程创建记录集时,游标驱动程序无法确定事后如何查询 BLOB 数据,因为它无法确定要使用的基表或关键字段。服务器-侧游标缓解了这个问题,但将您限制为每个存储过程的单个语句..." (support.microsoft.com/kb/194975)

标签: sqlite vbscript odbc ado


【解决方案1】:

getChunk 将无法在 msdn 上注明的记录字段上工作,字段属性 adFldLong 也说明 getChunk 是否可以在该字段上使用。 在某些字段中,您必须使用 SQL 查询来检索数据的长度,而不是使用属性 actualSize

这里有一个很好的例子http://kek.ksu.ru/eos/ecommerce/masteringasp/18-06.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 2017-01-01
    相关资源
    最近更新 更多