Probleme Oracle - SQL/NoSQL - Programmation
Marsh Posté le 21-04-2004 à 17:11:36
lapartdombre a écrit : Via un programme JAVA, je dois faire des insertions dans des tables et voici un exemple de requete
|
bonjour,
ça sert à quoi les accollades ? c'est pour faire un appel système pendant la requête ?
pour quoi elles ne sont pas refermées après >> /opt/exploit/arch/maestro_report.lis alors ?
à moins que tu ne veuilles tout simplement stocker une chaîne dans ta BD ?
EDIT : zut!
le formatage ne fonctionne pas entre les balises... je voulais mettre en gras la 4ème colonne de la ligne que tu veux insérer, et je voulais souligné l'accollade fermante... peut-être doit elle aller à la fin (juste avant la 5ème colonne ?)
Marsh Posté le 21-04-2004 à 17:13:09
Moi je dois juste me charger de stocker cette chaine dans la base de donnees
Marsh Posté le 21-04-2004 à 17:14:28
lapartdombre a écrit : Moi je dois juste me charger de stocker cette chaine dans la base de donnees |
ok,
tu pourrais essayer d'insérer autre chose dans la 4ème colonne, comme ça, tu sauras si cela vient de là...
Marsh Posté le 21-04-2004 à 17:15:54
Il y a d'autres enregistrement qui ont été inséré mais seul celui la pose un probleme
Marsh Posté le 21-04-2004 à 17:16:34
donc le probleme ne vient pas de la colonne mais de la chaine
'{ echo `date`;grep -i totals stdlist/`date '+%Y.%m.%d'`/reptr_post_sum ;} >> /opt/exploit/arch/maestro_report.lis'
Marsh Posté le 21-04-2004 à 17:17:42
lapartdombre a écrit : donc le probleme ne vient pas de la colonne mais de la chaine |
et cette chaîne fonctionne dans ton shell ??
EDIT : excuse moi, je viens de tilter:
ta chaine doit etre séparée par des quotes simples,
mais tu fais une concaténation avec des + !
essaie avec des concat ou des || (double pipe)
Marsh Posté le 21-04-2004 à 17:19:02
je ne sais pas si elle fonctionne et je n'ai pas à m'en soucier mais ca devrait être possible car elle est déjà insérer dans une autre table mais je ne sais pas comment la personne a fait et je n'ai pas moyen de le savoir
Marsh Posté le 21-04-2004 à 17:21:01
lapartdombre a écrit : je ne sais pas si elle fonctionne et je n'ai pas à m'en soucier mais ca devrait être possible car elle est déjà insérer dans une autre table mais je ne sais pas comment la personne a fait et je n'ai pas moyen de le savoir |
et avec les || à la place des + (voir edit précédent)
Marsh Posté le 21-04-2004 à 17:32:30
lapartdombre a écrit : ca ne marche pas non plus en placant || à la place du + |
le problème c'est que tu ouvres des quotes et que quand tu les refermes, tu concatènes avec une chaine qui ne veut rien dire pour ton SGBD
'{ echo `date`;grep -i totals stdlist/`date '+%Y.%m.%d'`/reptr_post_sum ;} >> /opt/exploit/arch/maestro_report.lis'
est-ce que la partie en gras fait partie de la chaine à insérer ?
si oui, les quotes aussi ?
si oui, il faut protéger les quotes pour qu'ils ne soient pas interprétés, en les doublant
'{ echo `date`;grep -i totals stdlist/`date ''+%Y.%m.%d''`/reptr_post_sum ;} >> /opt/exploit/arch/maestro_report.lis'
ça règle le problème ?
EDIT : attention 2 quotes suffisent avec Oracle
Marsh Posté le 22-04-2004 à 08:45:13
la chaine en gras fait parti de ma chaine à insérer je vais essayer en doublant les quotes mais il me semble que j'ai déjà essayer
Marsh Posté le 21-04-2004 à 17:06:07
Via un programme JAVA, je dois faire des insertions dans des tables et voici un exemple de requete
Mais avec cette requete j'ai comme erreur
ORA-00911: invalid character,
Je ne sais pas de quel caractère vient ce problème et quoi faire pour quand même insérer cette données dans ma table