Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2004, 17h57   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2004
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 39
Points : 14
Points : 14
Envoyer un message via ICQ à geoffrey_k Envoyer un message via MSN à geoffrey_k
Par défaut [DB2 V7 & V8] Difference de comportement du type DATE

Sur SunOS avec DB2 V7.1, la commande SQL suivante fonctionne correctement :
Code :
1
2
3
4
5
6
7
8
9
10
 
INSERT INTO dbit1 ( dbit1_key, dbit1_dt, dbit1_dta ) VALUES ( 1, d1, d2 )
 
dbit1_key TYPE INTEGER
dbit1_dt TYPE DATE
dbit1_dta TYPE TIMESTAMP
 
d1 et d2 de type DATE
d1 : 12/24/2001
d2 : 11/14/1989
Avec DB2 V8.0 (pas de fixpack), cela donne l'erreur suivante :
Code :
1
2
SQL statement error number -6372 (-301).
[IBM][CLI Driver][DB2/SUN] SQL0301N The value of input host variable OR parameter number "" cannot be used because of its DATA type. SQLSTATE=07006
Une idee ??
geoffrey_k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2004, 07h47   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
... et en déclarant dbit1_dta comme DATE plutôt que TIMESTAMP ?
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2004, 09h23   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2004
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 39
Points : 14
Points : 14
Envoyer un message via ICQ à geoffrey_k Envoyer un message via MSN à geoffrey_k
Non, ca change rien.

Code :
 INSERT INTO dbit1 ( dbit1_key, dbit1_dta ) VALUES ( 1, d1 )
Code :
 INSERT INTO dbit1 ( dbit1_key, dbit1_dt ) VALUES ( 1, d1 )
Ces deux commandes renvoient la meme erreur egalement.

Est ce que ca pourrait etre lie au mauvais positionnement d'une variable globale comme LC_ALL ou d'une variable specifiant le format d'une date (comme DBDATE pour informix) ?
geoffrey_k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2004, 00h12   #4
Invité régulier
 
Inscription : août 2004
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 6
Points : 6
Points : 6
Bonsoir,

d2 : 11/14/1989 n'est pas au bon format.

'11-14-1989-235506', si l'heure est inconnue '11-14-1989-000000' ou '11-14-1989-000001' si 000000 ne lui convient pas. Attention au "/" ou "-" suivant la configuration de DB2.

Dans tous les cas il faut Date et heure => Timestamp

@+

Dundee est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h57.


 
 
 
 
Partenaires

Hébergement Web