可以传递给 SQL*Plus 的命令行参数的最大长度?
我从 Linux C Shell 调用 SQL*Plus:
sqlplus username/password @file.sql var1 var2 var3
如果我将字符串作为 var1
传递,需要多长时间这个字符串是?
它是由操作系统控制的吗?在本例中:
Linux 版本 2.6.9-100.ELsmp ([电子邮件受保护])(gcc 版本 3.4.6 20060404 (Red Hat 3.4.6-11)) #1 SMP Tue Feb 1 12:17:32 EST 2011
更新: 经验测试产生以下结果:
- 命令行参数 5200字符给出了错误“单词太长”。
- 1300 个字符然后产生 SQL*Plus 错误,“字符串开头“(000796384...”太长。最大大小为 239 个字符。”
- 一旦我低于 239 个字符,一切都很好。
我想我会使用 < code>sqlldr 来克服这个问题。
I am calling SQL*Plus from Linux C Shell:
sqlplus username/password @file.sql var1 var2 var3
If I pass a string as var1
, how long can this string be?
Is it governed by the OS? In this case:
Linux version 2.6.9-100.ELsmp ([email protected]) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-11)) #1 SMP Tue Feb 1 12:17:32 EST 2011
Update: Empirical testing yielded the following results:
- A command line argument of 5200 characters gave the error, "Word too long."
- 1300 characters then produced the SQL*Plus error, "string beginning "(000796384..." is too long. maximum size is 239 characters."
- As soon as I got under 239 chars all was well.
I think I'll use sqlldr
to overcome this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试使用: xargs --show-limits
每个参数没有限制,但整个命令行长度总计。在我的系统(Fedora 15/zsh)中,它接近 2Mb。 (第 4 行)。
Try with:
xargs --show-limits </dev/null
There is no limit per argument, but a total for the whole command line length. In my system (Fedora 15/zsh) its closer to 2Mb. (line 4).
我遇到了“你的内核在命令行上可以接受多长时间的参数列表,然后它就会阻塞?”:
它在我的系统上给出了以下内容:
I came across "How long an argument list your kernel can take on the command line before it chokes?":
which gives the following on my system: