IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Réglage culture d'un DbConnection


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut Réglage culture d'un DbConnection
    Bonjour,
    Je suis confronté à un problème vraiment débile.
    Chez un client, je dois faire tourner une application qui se connecte à une db mssql.
    Or, le pc qui héberge le serveur mssql a des paramètre régionaux qui retourne les dates sous forme dd/mm/yyyy.
    Le serveur de base de données à été configuré de telle manière que, je ne sais pas pourquoi, mais sa culture est différente et formate les date en mm/dd/yyyy.

    Quand j'utilise une requête paramétrée, le format de de date est donc faux pour le sgbdr.

    Est-il possible de définir une culture particulière pour une connexion ?
    Parce que le seul moyen de m'en sortir est de formater les dates à la main suivant la culture utilisée....

    Bonne journée

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Je reprends un post de SQLPro :
    Cette question n' aucun sens... Une date est un type date ! Il n'y a pas de format dans les types de données.

    Si vous voulez convertir votre date en chaine de caractères ceci est du ressort de votre outil client.

    Lisez ce que j'ai écrit à ce sujet : (Les erreurs SQL les plus fréquentes) :
    http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L7
    Après si lors de l'appel, tu utilises une chaîne de caractère le problème sera là.

  3. #3
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    C'est tout à fait juste.
    Seulement, ce que je ne comprends pas c'est pourquoi, lorsque je passe une date dans une requête paramétrée, ma requête ne fonctionne pas et quand je passe ma date dans une requête sous forme string ça passe....
    Bon je dois avoir un blème ailleurs...
    Merci

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    fait voir le code, parce que les DbParameters de type date (il faut spécifier le type) sont des dates et donc n'ont pas de format hormis la norme iso en vigueur, donc il ne peut pas y avoir d'inversion si tu ne transites pas par un string
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Non, non, je passe bien par une req paramétrée.
    Peut-il y avoir un mode de stockage différent des dates entre un vieux server mssql et un plus récent ?
    Je sais pas, p.ex. du double sur 32 bits pour l'ancien et du double sur 64 bits pour le nouveau ?
    Sinon, j'ai du faire une crevée ailleurs...

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    une date ce n'est pas un double
    le datetime est sur 8 octets et le shortdatetime sur 4
    spécifies tu le type de ton parameter ?

    je ne connais pas sql server 7, mais depuis 2000 il n'y a pas de soucis

    sinon le format de culture se défini dans studio management (ou entreprise manager) dans les utilisateurs de base de données
    m'enfin cette définition à part afficher les dates en string dans le bon sens dans studio management, elle ne sert pas à grand chose je pense
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. [Culture] Définitions
    Par Superstivix dans le forum La taverne du Club : Humour et divers
    Réponses: 15
    Dernier message: 07/09/2018, 13h43
  2. [Culture] Maximes
    Par Superstivix dans le forum La taverne du Club : Humour et divers
    Réponses: 50
    Dernier message: 21/09/2016, 12h30
  3. [sqlplus] sauvegarder/restaurer réglages
    Par Benav dans le forum Oracle
    Réponses: 5
    Dernier message: 22/02/2005, 13h35
  4. Word : réglage automatique hauteur de cellules
    Par 120 dans le forum VBA Word
    Réponses: 2
    Dernier message: 16/02/2005, 09h26
  5. Comment détecter un changement du réglage de voume sonore ?
    Par mjlub dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 09/01/2004, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo