【问题标题】:Streaming large files using TinyTDS/FreeTDS使用 TinyTDS/FreeTDS 流式传输大文件
【发布时间】:2016-01-02 11:13:09
【问题描述】:

当我对一行运行一个简单的选择时,我只获得了大约 64K 的 BLOB 列数据。我想获得所有这些,流式传输当然会更好地避免内存问题。

【问题讨论】:

标签: ruby freetds tiny-tds


【解决方案1】:

早上好,

IIRC,FreeTDS 默认文本大小限制为 64K。在您的 freetds.conf 中尝试更改此设置:

text size = 64512

到这样的事情:

text size = 4194304

例如,SQL Server 中文本字段的最大大小为 2,147,483,647 字节。

【讨论】:

  • 谢谢。我无法轻松进行此更改,但这是最好的答案。
【解决方案2】:

最后我不得不使用SUBSTRING(column_name, start, length) AS chunk 来获得我想要的东西。我将长度保持在 64KB 以下并多次运行查询,增加起始值并保存文件。就多个查询而言,它的效率较低,但它会保持较低的内存。

【讨论】:

  • 只是出于好奇,您试图在 SQL 端或 Ruby 端节省内存?还是两者兼而有之?
  • 只是 Ruby 方面。在这种情况下,我无法控制 SQL 服务器。
猜你喜欢
  • 1970-01-01
  • 2011-10-18
  • 1970-01-01
  • 1970-01-01
  • 2012-04-17
  • 2021-08-18
  • 1970-01-01
  • 2017-12-11
相关资源
最近更新 更多