【问题标题】:Intersystems Cache script character limit系统间缓存脚本字符限制
【发布时间】:2016-05-31 19:38:09
【问题描述】:

发送命令的字符限制(字符数)是多少?如何更改?

如果我运行一个长命令,它不会完全发送,并且会在字符串的末尾附加一个“S”(并且字符串被切断) 那么有没有办法改变/查看我们可以发送多少个字符?

脚本:

send: Set tSql="SELECT count(*) AS cc FROM table WHERE id IN (''1111111111','1111111112','1111111114','1111111115','1111111116','1111111118','1111111118','1111111119','1111111120','1111111121','1111111121','1111111121','1111111121','1111111121',' 1111111123','1111111124','1111111125','1111111126','1111111127','1111111128','1111111129','1111111130','11111111131','11111111131','11111111131','11111111131','11111111131'3)1"

这是我在缓存终端中得到的:

Set tSql="SELECT count(*) AS cc FROM table WHERE id IN (''1111111111','1111111112','1111111114','1111111115','1111111116','1111111118','1111111118','1111111119','1111111120','1111111121','1111111121','1111111121','1111111121','1111111121',' 1111111123','1111111124','1111111125','1111111126','1111111127','1111111128','1111111129','1111111130','111S

如您所见,命令后附加了一个 S,最终会导致语法错误

【问题讨论】:

    标签: intersystems-cache intersystems


    【解决方案1】:

    更简洁的方法是创建一个带有方法的类,其中包含您想要实现的任何实现,然后通过以下方式调用它:

    send: Do ##class*Package.Class).Method(Arguments)

    并传递所需的参数。

    【讨论】:

      【解决方案2】:

      不确定它是如何限制的,但我可以说,您可以将任何长数据拆分为多个 send。它看起来像下面

      send: Set tSql="SELECT count(*) AS cc FROM table WHERE id IN 
      send: ('1111111111','1111111112','1111111113','1111111114','1111111115',
      send: '1111111116','1111111117','1111111118','1111111119','1111111120',
      send: '1111111121','1111111122','1111111123','1111111124','1111111125',
      send: '1111111126','1111111127','1111111128','1111111129','1111111130',
      send: '1111111131','1111111132','1111111133')"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-27
        • 1970-01-01
        相关资源
        最近更新 更多