J'appelle SQL * Plus depuis Linux C Shell:
sqlplus username/password @file.sql var1 var2 var3
Si je passe une chaîne en tant que var1
, Combien de temps cette chaîne peut-elle être?
Est-il régi par le système d'exploitation? Dans ce cas:
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
Mise à jour: Les tests empiriques ont donné les résultats suivants:
Je pense que je vais utiliser sqlldr
pour surmonter cela.
Essayez avec: 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
Il n'y a pas de limite par argument, mais un total pour toute la longueur de la ligne de commande. Dans mon système (Fedora 15/zsh), il est plus proche de 2 Mo. (ligne 4).
Je suis tombé sur "combien de temps une liste d'arguments votre noyau peut prendre sur la ligne de commande avant qu'il ne s'étouffe?":
getconf ARG_MAX
ce qui donne ce qui suit sur mon système:
131072