cs_morsi
Messages postés20Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention28 juin 2006
-
14 oct. 2005 à 12:47
cs_morsi
Messages postés20Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention28 juin 2006
-
15 oct. 2005 à 14:29
bonjour,
j'ai 2 serveurs, un servuer de développement et un serveur de
production (les 2 serveurs ne sont pas sur les mêmes machine et à
priori ayant la même version de sql Server 2000)
sur mon serveur de dev, j'essai une commande bcp trés basique et trés
simple qui importe des données dans une table, ok tout marche bien
Sur le serveur de prod, (j'ai envoyé la structure de la base que j'ai
en dev pour le servuer de prod sous forme de fichier dat), exactement
la même commande avec exactement le même fichier ne marche pas et
affiche des erreurs sur le format de date !! (j'ai bien dis qu'on avait
la même structure)
l'erreur :
"[ODBC SQL SERVER driver]Format de date non valide"
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 14 oct. 2005 à 14:40
Oups j'ai cliqué au mvs endroit
Je reprends :
insert into toto (madate)
values (convert(datetime,'15/05/2005',103))
où 103 correspond au format DD/MM/YYYY
112 correspond à un format YYYYMMDD
etc...
Les autres valeurs de format possibles sont donnés dans l'aide SQL Server
De même quand tu veux récupérer un champ date, il vaut mieux le convertir en chaine de caractères
select madate from toto
va renvoyer 15/05/2005 sur ton poste de dév et 2005/05/15 sur ton serveur de prod
--> select convert(varchar,madate,103) from toto
te renverra tjs 15/05/2005
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 14 oct. 2005 à 14:35
Salut,
Sur ton poste de développement, tu as peut-être un format de date DD/MM/YYYY.
Qd tu fais :
insert into toto(madate) values('15/05/2005')
il réussit à transformer ta chaine de caractères en format date
Si, sur ton serveur, le format de date est YYYY/MM/DD
Qd tu fais :
insert into toto(madate) values('15/05/2005')
il n'arrive pas à transformer en date ta chaine de caractères.
Pour t'affranchir de ce genre de problèmes, il faut que tu indiques dans ta requête le format de date à utiliser
insert into toto (madate)
values (convert(datetime,'15/05/2005',103))