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"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
404 found
Question subsidiaire :
Est il possible de récupérer le rapport d'exécution de la commande bcp sous format txt ?
"404 found" a écrit :
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"
des idées ?
En vous remerciant !
Question subsidiaire :
Est il possible de récupérer le rapport d'exécution de la commande bcp sous
format txt ?
"404 found" a écrit :
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"
Est il possible de récupérer le rapport d'exécution de la commande bcp sous format txt ?
"404 found" a écrit :
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"
des idées ?
En vous remerciant !
BB
404 found wrote:
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"
Bonjour,
Cela dépend de la configuration de SQL server. En effet, lorsque'on écrit une clause comme "where maDate = '01/01/2005'", SQL server effectue une conversion implicite de la chaîne de caractère en un élément de type datetime/smalldatetime selon le type de maDate. Cette conversion implicite dépend des paramètres du serveur, en particulier du langage utilisé. Si vous êtes aux états-unis, une date de format XX/XX/XXXX est interprétée par défaut comme MM/DD/YYYY. En France, comme DD/MM/YYY. Et forcément, le 30/05/2005, aux US, ça n'est pas une date valide. Maintenant, concrètement: 1. vérifiez le langage par défaut de votre serveur; lire à ce propos l'article http://support.microsoft.com/default.aspx?scid=kb;en-us;173907 2. si tout semble correct, ie votre serveur utilise le français par défaut, vérifiez le contenu de la colonne dateformat de master..syslanguages pour le français; si ça n'est pas dmy, il ya un problème. Et bien que je n'en aie pas une certitude absolue, il me semble que ce problème soit réglé par le SP3 (vos deux serveurs ont-ils le même SP?)
Cordialement,
BB
404 found wrote:
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"
Bonjour,
Cela dépend de la configuration de SQL server. En effet, lorsque'on écrit
une clause comme "where maDate = '01/01/2005'", SQL server effectue une
conversion implicite de la chaîne de caractère en un élément de type
datetime/smalldatetime selon le type de maDate. Cette conversion implicite
dépend des paramètres du serveur, en particulier du langage utilisé.
Si vous êtes aux états-unis, une date de format XX/XX/XXXX est interprétée
par défaut comme MM/DD/YYYY. En France, comme DD/MM/YYY. Et forcément, le
30/05/2005, aux US, ça n'est pas une date valide.
Maintenant, concrètement:
1. vérifiez le langage par défaut de votre serveur; lire à ce propos
l'article http://support.microsoft.com/default.aspx?scid=kb;en-us;173907
2. si tout semble correct, ie votre serveur utilise le français par défaut,
vérifiez le contenu de la colonne dateformat de master..syslanguages pour le
français; si ça n'est pas dmy, il ya un problème. Et bien que je n'en aie
pas une certitude absolue, il me semble que ce problème soit réglé par le
SP3 (vos deux serveurs ont-ils le même SP?)
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"
Bonjour,
Cela dépend de la configuration de SQL server. En effet, lorsque'on écrit une clause comme "where maDate = '01/01/2005'", SQL server effectue une conversion implicite de la chaîne de caractère en un élément de type datetime/smalldatetime selon le type de maDate. Cette conversion implicite dépend des paramètres du serveur, en particulier du langage utilisé. Si vous êtes aux états-unis, une date de format XX/XX/XXXX est interprétée par défaut comme MM/DD/YYYY. En France, comme DD/MM/YYY. Et forcément, le 30/05/2005, aux US, ça n'est pas une date valide. Maintenant, concrètement: 1. vérifiez le langage par défaut de votre serveur; lire à ce propos l'article http://support.microsoft.com/default.aspx?scid=kb;en-us;173907 2. si tout semble correct, ie votre serveur utilise le français par défaut, vérifiez le contenu de la colonne dateformat de master..syslanguages pour le français; si ça n'est pas dmy, il ya un problème. Et bien que je n'en aie pas une certitude absolue, il me semble que ce problème soit réglé par le SP3 (vos deux serveurs ont-ils le même SP?)
Cordialement,
BB
BB
BB wrote:
Cela dépend de la configuration de SQL server. En effet, lorsque'on écrit une clause comme "where maDate = '01/01/2005'", SQL server effectue une conversion implicite de la chaîne de caractère en un élément de type datetime/smalldatetime selon le type de maDate.
Euh, bien entendu, j'ai oublié de signaler que, en écrivant quelque chose du genre " where maDate = CONVERT(datetime, '01/01/2005', 103) ", on évite tout problème de configuration de serveur.
BB
BB wrote:
Cela dépend de la configuration de SQL server. En effet, lorsque'on
écrit une clause comme "where maDate = '01/01/2005'", SQL server
effectue une conversion implicite de la chaîne de caractère en un
élément de type datetime/smalldatetime selon le type de maDate.
Euh, bien entendu, j'ai oublié de signaler que, en écrivant quelque chose du
genre " where maDate = CONVERT(datetime, '01/01/2005', 103) ", on évite
tout problème de configuration de serveur.
Cela dépend de la configuration de SQL server. En effet, lorsque'on écrit une clause comme "where maDate = '01/01/2005'", SQL server effectue une conversion implicite de la chaîne de caractère en un élément de type datetime/smalldatetime selon le type de maDate.
Euh, bien entendu, j'ai oublié de signaler que, en écrivant quelque chose du genre " where maDate = CONVERT(datetime, '01/01/2005', 103) ", on évite tout problème de configuration de serveur.
BB
Bouarroudj Mohamed
Le format "YYYYMMDD" est indépendant de toute configuration du serveur, si coté client notre application envoie toujours ce format on évite beaucoup de problèmes (et de surprises) lors du déploiement sur des sites avec des configurations différentes et pas besoin de faire des conversions a chaque fois.
"BB" $paM.fr> wrote in message news:dio8v7$m1t$
BB wrote:
Cela dépend de la configuration de SQL server. En effet, lorsque'on écrit une clause comme "where maDate = '01/01/2005'", SQL server effectue une conversion implicite de la chaîne de caractère en un élément de type datetime/smalldatetime selon le type de maDate.
Euh, bien entendu, j'ai oublié de signaler que, en écrivant quelque chose du genre " where maDate = CONVERT(datetime, '01/01/2005', 103) ", on évite tout problème de configuration de serveur.
BB
Le format "YYYYMMDD" est indépendant de toute configuration du serveur, si
coté client notre application envoie toujours ce format on évite beaucoup de
problèmes (et de surprises) lors du déploiement sur des sites avec des
configurations différentes et pas besoin de faire des conversions a chaque
fois.
"BB" <bbpublic075@yahoo.n0$paM.fr> wrote in message
news:dio8v7$m1t$1@s1.news.oleane.net...
BB wrote:
Cela dépend de la configuration de SQL server. En effet, lorsque'on
écrit une clause comme "where maDate = '01/01/2005'", SQL server
effectue une conversion implicite de la chaîne de caractère en un
élément de type datetime/smalldatetime selon le type de maDate.
Euh, bien entendu, j'ai oublié de signaler que, en écrivant quelque chose
du
genre " where maDate = CONVERT(datetime, '01/01/2005', 103) ", on évite
tout problème de configuration de serveur.
Le format "YYYYMMDD" est indépendant de toute configuration du serveur, si coté client notre application envoie toujours ce format on évite beaucoup de problèmes (et de surprises) lors du déploiement sur des sites avec des configurations différentes et pas besoin de faire des conversions a chaque fois.
"BB" $paM.fr> wrote in message news:dio8v7$m1t$
BB wrote:
Cela dépend de la configuration de SQL server. En effet, lorsque'on écrit une clause comme "where maDate = '01/01/2005'", SQL server effectue une conversion implicite de la chaîne de caractère en un élément de type datetime/smalldatetime selon le type de maDate.
Euh, bien entendu, j'ai oublié de signaler que, en écrivant quelque chose du genre " where maDate = CONVERT(datetime, '01/01/2005', 103) ", on évite tout problème de configuration de serveur.
BB
404 found
Merci pour vos réponses !!!!
Je tiendrais compte !! je vais faire des vérifications entre le serveur de Prod et le serveur de dev !
Encore Merci.
"Bouarroudj Mohamed" a écrit :
Le format "YYYYMMDD" est indépendant de toute configuration du serveur, si coté client notre application envoie toujours ce format on évite beaucoup de problèmes (et de surprises) lors du déploiement sur des sites avec des configurations différentes et pas besoin de faire des conversions a chaque fois.
"BB" $paM.fr> wrote in message news:dio8v7$m1t$ > BB wrote: >> Cela dépend de la configuration de SQL server. En effet, lorsque'on >> écrit une clause comme "where maDate = '01/01/2005'", SQL server >> effectue une conversion implicite de la chaîne de caractère en un >> élément de type datetime/smalldatetime selon le type de maDate. > > Euh, bien entendu, j'ai oublié de signaler que, en écrivant quelque chose > du > genre " where maDate = CONVERT(datetime, '01/01/2005', 103) ", on évite > tout problème de configuration de serveur. > > BB > >
Merci pour vos réponses !!!!
Je tiendrais compte !! je vais faire des vérifications entre le serveur de
Prod et le serveur de dev !
Encore Merci.
"Bouarroudj Mohamed" a écrit :
Le format "YYYYMMDD" est indépendant de toute configuration du serveur, si
coté client notre application envoie toujours ce format on évite beaucoup de
problèmes (et de surprises) lors du déploiement sur des sites avec des
configurations différentes et pas besoin de faire des conversions a chaque
fois.
"BB" <bbpublic075@yahoo.n0$paM.fr> wrote in message
news:dio8v7$m1t$1@s1.news.oleane.net...
> BB wrote:
>> Cela dépend de la configuration de SQL server. En effet, lorsque'on
>> écrit une clause comme "where maDate = '01/01/2005'", SQL server
>> effectue une conversion implicite de la chaîne de caractère en un
>> élément de type datetime/smalldatetime selon le type de maDate.
>
> Euh, bien entendu, j'ai oublié de signaler que, en écrivant quelque chose
> du
> genre " where maDate = CONVERT(datetime, '01/01/2005', 103) ", on évite
> tout problème de configuration de serveur.
>
> BB
>
>
Je tiendrais compte !! je vais faire des vérifications entre le serveur de Prod et le serveur de dev !
Encore Merci.
"Bouarroudj Mohamed" a écrit :
Le format "YYYYMMDD" est indépendant de toute configuration du serveur, si coté client notre application envoie toujours ce format on évite beaucoup de problèmes (et de surprises) lors du déploiement sur des sites avec des configurations différentes et pas besoin de faire des conversions a chaque fois.
"BB" $paM.fr> wrote in message news:dio8v7$m1t$ > BB wrote: >> Cela dépend de la configuration de SQL server. En effet, lorsque'on >> écrit une clause comme "where maDate = '01/01/2005'", SQL server >> effectue une conversion implicite de la chaîne de caractère en un >> élément de type datetime/smalldatetime selon le type de maDate. > > Euh, bien entendu, j'ai oublié de signaler que, en écrivant quelque chose > du > genre " where maDate = CONVERT(datetime, '01/01/2005', 103) ", on évite > tout problème de configuration de serveur. > > BB > >