数据库
首页 > 数据库> > linux – 可以传递给SQL * Plus的命令行参数的最大长度?

linux – 可以传递给SQL * Plus的命令行参数的最大长度?

作者:互联网

我从Linux C Shell调用SQL * Plus:

sqlplus用户名/密码@ file.sql var1 var2 var3

如果我将字符串作为var1传递,该字符串可以多长时间?

它是由操作系统管理的吗?在这种情况下:

Linux版本2.6.9-100.ELsmp(mockbuild@x86-010.build.bos.redhat.com)(gcc版本3.4.6 20060404(Red Hat 3.4.6-11))#1 SMP Tue 2月1日12:17 :2011年东部时间2011年

更新:经验测试产生以下结果:

> 5200个字符的命令行参数给出了错误“Word太长”.
> 1300个字符然后产生SQL * Plus错误,“字符串开头”(000796384 …“太长.最大大小为239个字符.”
>一旦我得到239个字符,一切都很顺利.

我想我会用sqlldr来克服这个问题.

解决方法:

试试:xargs –show-limits

Your environment variables take up 2446 bytes
POSIX upper limit on argument length (this system): 2092658
POSIX smallest allowable upper limit on argument length (all systems): 4096
Maximum length of command we could actually use: 2090212
Size of command buffer we are actually using: 131072

每个参数没有限制,但是整个命令行长度的总数.在我的系统(Fedora 15 / zsh)中,它接近2Mb. (第4行).

标签:csh,linux,command-line-arguments,sqlplus
来源: https://codeday.me/bug/20190917/1809867.html