【YashanDB 知识库】如何处理 yasql 输入交互模式下单行字符总量超过限制 4000 字节
本文内容来自 YashanDB 官网,原文内容请见:https://www.yashandb.com/newsinfo/7686587.html?templateId=1718516
现象
在 yasql 执行 sql 语句后报错:YASQL-00021 input line overflow (>4000 byte at line 4)

原因
yasql 在交互模式模式下单行字符总量限制 4000 字节,超出该限制即报错。
交互式模式下,yasql 会显示一个提示符,通常是 SQL>,等待用户输入命令,
用户执行的每个命令都会立即执行,并显示结果。这允许用户实时看到他们的操作效果。
解决办法
非交互模式下单行字符总量最大限制为:32000 字节。远高于交互模式下的 4000 字节。
如果输入文本是 32000 字节以内,可以用非交互模式来执行。非交互模式有 2 种方法执行:
1、通过输入文件方式执行 yasql usr/passsword -f -e test.sql

2、设置登录 yasql 为静默模式( silent mode),yasql -S usr/passsword << EOF
SELECT value FROM v\$parameter WHERE name = 'background_dump_dest';
exit
EOF

总结
当遇到需要在 yasql 下执行,但 SQL 语句太长,超出交互模式单行字符上限制,可用使用非交互模式。
版权声明: 本文为 InfoQ 作者【YashanDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/b90aa8566ed4e61cb9a299c5f】。文章转载请联系作者。
评论