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

MS SQL Server Discussion :

SQL server mode anglo saxon


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 234
    Points : 130
    Points
    130
    Par défaut SQL server mode anglo saxon
    Bonjour,

    Je travaille avec SQL-Server 2008 en français.
    J'ai développé une appli en c# avec Visual Studio 2005, que nous allons essayer d'installer chez nos partenaires aux Etats-Unis.
    Je vais donc installer SQL-Server, mais pour faire plaisir aux américains il est évident qu'il leur faut en anglais.
    J'ai surtout besoin de récupérer des dates au format anglo-saxon soit ( MM/DD/YYYY ). Ou dois-je régler le paramêtre au niveau de SQL-Server ou au niveau de Visual-Studio ? Dans mon appli, je lis les dates par l'instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MonDataReader.GetDate(x)
    Qui me renvoie une date de la forme JJ/MM/YYYY HH:MM:SS

    Quand je vais dans les propiétés de mon SQL_Server je vois:
    Langue: Français
    Classement du serveur : French_SI_AS.

    Ces champs sont en Read-only
    Peut-on les modifier à l'installation, ou serais-je obligé de me procurer un SQL_Server anglais ?
    Cela ne me dérange pas, mais pour le moment nous sommes en phase de présentation du produit, sans avoir la certitude que cela leur plaira.
    Alors je préférerai faire la démonstration avec mon SQL-Server français, accomodé à la sauce anglo_saxone.


    Merci.

  2. #2
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 34
    Points : 42
    Points
    42
    Par défaut
    Salut,
    En sql server une date reste une date quel soit en francais ou en anglais.
    Afin de pouvoir utiliser le format anglais (ou americain), tu dois assigner la langue par défaut "english" (ou anglais) au login qui se connecte à l'application.

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 234
    Points : 130
    Points
    130
    Par défaut
    Bonsoir,

    Je suis d'accord avec toi, une date n'est jamais qu'un nombre.

    Quand tu me dis:

    Afin de pouvoir utiliser le format anglais (ou americain), tu dois assigner la langue par défaut "english" (ou anglais) au login qui se connecte à l'application.


    Ou faut-il assigner la langue par defaut?
    Le login qui se connecte a l'application n'est pas forcement
    le meme que celui qui se connecte au PC.

    J'etais parti avec l'idee que c'etait au niveau de SQL server
    Mais si c'est au niveau de l'application, j'espere que c'est au moment ou on construit la chaine de connection du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaChaine = "Integrated security = true; Initial catalog = " + MabaseDedonnees + "user = " + username
    etc, etc....
    avec le bon parametre a rajouter, pour n'avoir qu'une seule fois a le faire.
    Mais dans les doc que j'ai lues jusqu'a present, le sujet n'etait pas aborde.

    La j'avoue avoir besoin d'un peu plus de precision.

    Merci.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Ma compréhension est que MonDataReader.GetDate(x) te renvoie un objet de type Date et que donc il n'y a pas de soucis si tu affecte le résultat à une variable de type Date. Par exemple tu écrit ceci en VB.net
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim ma_date datetime
    ma_date=MonDataReader.GetDate(x)
    Après coup ma_date a la bonne valeur.
    Attention cependant à la gestion du null.


    A+
    Soazig

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Rebonjour,
    Je viens de faire un tour sur MSDN
    http://msdn.microsoft.com/en-us/libr...tdatetime.aspx et il ne mentionne pas de méthode GetDate mais GetDateTime ou GetData. A priori celui qui t'interesse est GetDateTime qui renvoie bien un DateTime comme je l'avais pressenti.
    A+
    Soazig

  6. #6
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 234
    Points : 130
    Points
    130
    Par défaut
    Bonjour SOAZIG,

    Exact, en c# la syntaxe exacte est bien

    MonDtReader.GetDateTime(x)

    le souci est lorsque je veux afficher cette valeur dans un textbox
    l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MontextBox.Text = MonDtReader.GetDateTime(x).ToString().Substring(0, 10);
    affiche une date de la forme DD/MM/AAAA

    J'aimerai éviter d'avoir a retravailler la chaîne de caractères pour arriver
    a la forme

    MM/DD/YYYY

    sans parler des requetes qui reposent sur une selection de dates.
    C'est pourquoi j'ai d'abord recherche la solution du cote de SQL server
    plutot que du cote de mon code.

    A+

    HENRYC.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    A mon sens, comme GetDateTime te renvoie un objet DateTime, tu ne peux pas maitriser la façon dont le framework .net par le SQL, la solution est dans le code C#.
    En VB.net net ce doit être pareil pour C# tu as une surcharge de ToString avec le format de la chaine voire la culture (ce qui peut être important pour tois.
    Tu peux te faire une fonction d'affichage de Date ou une extension du type DateTime qui fait le boulot.
    Mais là on s'éloigne du SQL.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MontextBox.Text = MonDtReader.GetDateTime(x).ToString("MM/dd/yyyy")
    Ou (là je spécifie la culture, US si c'est pour des anglais il faudra modifier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MontextBox.Text = MonDtReader.GetDateTime(x).ToString("MM/dd/yyyy",new CultureInfo("en-US"))
    Je t'invite avant de continuer sur la suite de ton projet à te documenter sur les cultureInfo pour la localisation de ton application, il ne faudrait pas que ça marche avec un paramaétrage France et que cela ne marche pas avec une localisation anglaise.

    a+
    Soazig

  8. #8
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 234
    Points : 130
    Points
    130
    Par défaut
    Bonjour,

    J'avais effectivement pense a la notion de cultureInfo, que j'ai deja un peu
    utilise. Si la solution n'est pas au niveau de SQL Server, je vais me la
    palucher au niveau du c#.

    Merci pour ta reponse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/02/2009, 23h07
  2. Réponses: 3
    Dernier message: 22/09/2008, 21h02
  3. Réponses: 2
    Dernier message: 18/10/2007, 16h44
  4. Réponses: 1
    Dernier message: 13/07/2007, 11h54
  5. Installation SQL Server en mode Cluster!
    Par SILO dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 12/01/2007, 11h59

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