Intersystems缓存脚本字符限制

时间:2016-05-31 19:38:09

标签: intersystems-cache intersystems

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

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

脚本:

  

发送:设置tSql =“SELECT count(*)AS cc FROM表WHERE id IN   ( '1111111111', '1111111112', '1111111113', '1111111114', '1111111115', '1111111116', '1111111117', '1111111118', '1111111119', '1111111120', '1111111121', '1111111122',” 1111111123' , '1111111124', '1111111125', '1111111126', '1111111127', '1111111128', '1111111129', '1111111130', '1111111131', '1111111132', '1111111133')“

这是我在缓存终端中获得的内容:

  

设置tSql =“SELECT count(*)AS cc FROM table WHERE id IN   ( '1111111111', '1111111112', '1111111113', '1111111114', '1111111115', '1111111116', '1111111117', '1111111118', '1111111119', '1111111120', '1111111121', '1111111122',” 1111111123' , '1111111124', '1111111125', '1111111126', '1111111127', '1111111128', '1111111129', '1111111130',“111S

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

2 个答案:

答案 0 :(得分:3)

更干净的方法是创建一个带有方法的类,包含你想要实现的任何实现,然后通过以下方法调用它:

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

并传递必需的参数。

答案 1 :(得分: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')"