2016-05-31 99 views
2

發送命令的字符數限制(字符數)是多少,我如何更改它?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')」

這裏就是我在緩存終端獲得:

Set 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

不知道它是如何有限,但我可以說的是,你可以分割你的任何長數據由多個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')" 
3

的更簡潔的方法是創建一個有方法的類,包含任何你想要達到的實現,然後通過調用它:

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

和傳遞所需的參數。