Problème de conversion de date sur un système US

Le
Pierre
Bonjour,

J'ai un probleme de conversion de date avec un serveur sql 2000 installé sur
un système windows 2000 version US

Sur le serveur de production le système est un système français avec ces
règlages pour sql server
Language : Anglais (Etats Unis)
Server collation : Latin1_general_CI_AI

Et sur un autre serveur j'ai un sytème anglais avec ces réglages
Language : Anglais (Etats Unis)
Server collation : SQL_Latin1_general_CI_AI
Systeme : US regional settings short date format dd/MM/yyyy

Si je fais un select * from myTable where myDate >'28/02/2008'
Sur le serveur de production cela passe.
Sur l'autre serveur j'ai une erreur
Server: Msg 242, Level 16, State 3, Line 1
The conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value.

Y a t-il un moyen de modifier des réglages pour contourner ce problème ?

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pierre
Le #11881851
Précisions :

Sur le meme serveur us est installé une instance de sql 2005 language
french.
Et là les requetes ne posent pas de probleme.

Je suppose donc que cela provient du réglage language Anglais sur le sql
2000 (c'est pourtant le paramétrage du serveur de production)

Donc je ne comprends pas ce qui se passe...
Est-il possible de modifier le paramétrage de langue sur sql 2000

Merci

"Pierre" news:O%23s$
Bonjour,

J'ai un probleme de conversion de date avec un serveur sql 2000 installé


sur
un système windows 2000 version US

Sur le serveur de production le système est un système français avec ces
règlages pour sql server
Language : Anglais (Etats Unis)
Server collation : Latin1_general_CI_AI

Et sur un autre serveur j'ai un sytème anglais avec ces réglages
Language : Anglais (Etats Unis)
Server collation : SQL_Latin1_general_CI_AI
Systeme : US regional settings short date format dd/MM/yyyy

Si je fais un select * from myTable where myDate >'28/02/2008'
Sur le serveur de production cela passe.
Sur l'autre serveur j'ai une erreur
Server: Msg 242, Level 16, State 3, Line 1
The conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value.

Y a t-il un moyen de modifier des réglages pour contourner ce problème ?

Merci




Sylvain Lafontaine
Le #11881811
Par défaut, SQL-Server utilise la langue associée à votre compte Login tel
que définie dans l'onglet Sécurité; les autres paramètres n'ont aucune
importance. Pour changer le format d'interprétation des dates, changez la
langue par défaut associé à votre compte Login ou utilisez la commande Set
Language French:

set language english
select Convert (datetime, '1/2/2008')

set language french
select Convert (datetime, '1/2/2008')

À la place du language, vous pouvez aussi changer le paramètre DateFormat

set dateformat 'mdy'
select Convert (datetime, '1/2/2008')

set dateformat 'dmy'
select Convert (datetime, '1/2/2008')

Une autre solution serait d'utiliser pour vos dates en format caractères un
format indépendant du language tel que '20080201' (et non pas '2008/02/01'
qui lui est dépendant du language sur SQL-Server).

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"Pierre" news:
Précisions :

Sur le meme serveur us est installé une instance de sql 2005 language
french.
Et là les requetes ne posent pas de probleme.

Je suppose donc que cela provient du réglage language Anglais sur le sql
2000 (c'est pourtant le paramétrage du serveur de production)

Donc je ne comprends pas ce qui se passe...
Est-il possible de modifier le paramétrage de langue sur sql 2000

Merci

"Pierre" news:O%23s$
Bonjour,

J'ai un probleme de conversion de date avec un serveur sql 2000 installé


sur
un système windows 2000 version US

Sur le serveur de production le système est un système français avec ces
règlages pour sql server
Language : Anglais (Etats Unis)
Server collation : Latin1_general_CI_AI

Et sur un autre serveur j'ai un sytème anglais avec ces réglages
Language : Anglais (Etats Unis)
Server collation : SQL_Latin1_general_CI_AI
Systeme : US regional settings short date format dd/MM/yyyy

Si je fais un select * from myTable where myDate >'28/02/2008'
Sur le serveur de production cela passe.
Sur l'autre serveur j'ai une erreur
Server: Msg 242, Level 16, State 3, Line 1
The conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value.

Y a t-il un moyen de modifier des réglages pour contourner ce problème ?

Merci








Guillaume JAY
Le #11881801
On Tue, 11 Mar 2008 10:20:54 +0100, "Pierre"
Y a t-il un moyen de modifier des réglages pour contourner ce problème ?



Pour ma part, sans connaitre les contraintes bien sur, je modifierai
mes requêtes plutot.

Cette page est un bon résumé :
http://www.karaszi.com/SQLServer/info_datetime.asp

Guillaume
Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something.
Robert A. Heinlein
Pierre
Le #11881781
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)>
wrote in message news:OE18IT$
Par défaut, SQL-Server utilise la langue associée à votre compte Login tel
que définie dans l'onglet Sécurité; les autres paramètres n'ont aucune
importance. Pour changer le format d'interprétation des dates, changez la
langue par défaut associé à votre compte Login ou utilisez la commande Set
Language French:



Effectivement cela fonctionne.

Merci
Fred BROUARD
Le #11881761
Guillaume JAY a écrit :
On Tue, 11 Mar 2008 10:20:54 +0100, "Pierre"
Y a t-il un moyen de modifier des réglages pour contourner ce problème ?



Pour ma part, sans connaitre les contraintes bien sur, je modifierai
mes requêtes plutot.

Cette page est un bon résumé :
http://www.karaszi.com/SQLServer/info_datetime.asp

Guillaume
Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something.
Robert A. Heinlein




plus détaillé et en français :

http://baptiste-wicht.developpez.com/tutoriel/ms-sql/datetime/

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Publicité
Poster une réponse
Anonyme