|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
Bonjour,
voici le contexte : Une base peoplesoft X qui via des triggers mets a jour des données salariés sur un autre serveur. Je passe par un tableau en SQL (via une application propre a PeopleSoft) Du type : DECLARE CURSOR xbox IS SELECT cname , coltype FROM col WHERE tname = '%Table(%Bind(SPI_SPLIT_2_AET.RECNAME))'; CURSOR clefs IS SELECT fieldname , keyposn FROM pskeydefn WHERE indexid = '_' AND recname = %Bind(SPI_SPLIT_2_AET.RECNAME) ORDER BY keyposn; TYPE tableau IS TABLE OF VARCHAR2(65) INDEX BY BINARY_INTEGER; mon_tableau tableau; mesclefs clefs%ROWTYPE; wii xbox%ROWTYPE; psx VARCHAR2(9999); gba VARCHAR2(9999); pce VARCHAR2(9999); trousseau VARCHAR2(9999); BEGIN mon_tableau(1) := %Bind(SPI_SPLIT_3_AET.KEY1); mon_tableau(2) := %Bind(SPI_SPLIT_3_AET.KEY2); Le probleme vient, que certain de mes records sont des formats Char, et d'autre date. Quand j'ai une date apres 2000, le transfert se fait, et quand c'est avant 2000, cela ne fonctionne pas. Traitement en succes, mais pas de modification. J'ai un premier step : ALTER SESSION SET NLS_DATE_FORMAT ='DD/MM/YY' si je change le format (cad YYYY-DD-MM ou DD/MM/YYYY) j'ai un message d'erreur : SQL error. Stmt #: 1324 Error Position: 0 Return: 1858 - ORA-01858: a non-numeric character was found where a numeric was expected ORA-02063: preceding line from DRHDEV04 ORA-06512: at line 1 Avez vous une idée pour gerer le type de champ selon la donnée ? Car c'est un tableau qui est utilisé par 100 Record qui forcement n'ont pas la meme construction. Merci d'avance |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 942 ![]() |
C'est mort je crains...
Si les données sont pas homogènes et que vous devez vous amuser à deviner quel est le format... on croit rêver ! vous pouvez essayer de deviner, mais une date 01/02/03, c'est quoi ? 1-Fev-2003 ? 2001-Mar-02 ? le QI du gars qui a fait l'export des données ?
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com