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 :

Problème de paramètrage de SQL SERVER 2005


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut Problème de paramètrage de SQL SERVER 2005
    Bonjour, j'ai une requête qui fonctionne correctement en sql2000 mais nous avons migrer en sql2005 elle ne fonctionne plus.
    J'ai regarder en base et il sagit d'une donnée qui peut être de type caractère que lon compare à un entier.
    Y'a-t'il une option qui permet de faire en sorte que cela refonctionne en 2005?
    requête incréminée.
    SELECT *
    FROM MAVUE
    WHERE (( COLONNE1='CHAR' AND COLONNE2 = 15)
    OR ( COLONNE1='CHAR2' AND COLONNE2 IN (SELECT COLONNE3 FROM MATABLE WHERE COLONNE4 = 15 ) ))

    La colonne 2 peut avoir des caractère et colonne3 ne retourne que des numeric.
    message d'erreur.
    Échec de la conversion de la valeur varchar « Test du 26-10-2007 » en type de données int.

    merci de votre aide

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    bonjour,

    c'est bien un problème de cast automatique, mais bon, c'est un peu étrange de faire un sous-select entre une colonne numérique et une colonne littérale.

    Est-ce que cette valeur "Test du 26-10-2007" reflète toutes les valeurs de cette colonne ou est-ce un enregistrement qui n'a rien à faire là

    En fait, je demande si en supprimant cet enregistrement (qui semble récent et dans un but de test ...), ça n'arrangerait pas votre soucis.

  3. #3
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut
    effectivement, en supprimant cette donée cela fonctionne mieux. Mais pour l'historique, cette colonne était destinée à ne stocké que des numeric hors depuis peux des évolutions ont été éffectuer en SQL2000 et cela fonctionnait, mais nous avons migrer en SQL2005 et cela ne fonctionne plus. Pourquoi? je ne sais pas, c'est pour cela que je pense qu'une option doit être disponible en SQL Server 2005.

  4. #4
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * 
    FROM MAVUE
    WHERE (( COLONNE1='CHAR' AND COLONNE2 = 15) 
    OR ( COLONNE1='CHAR2' AND COLONNE2 IN (SELECT CAST(COLONNE3 AS VARCHAR) FROM MATABLE WHERE COLONNE4 = 15 ) ))
    a mon avis cela fonctionnait sur SQL2000 car il n'y a jamais eu le cas

    fais le test en exécutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * 
    FROM MAVUE
    WHERE CAST(COLONNE2 as float) = 0

  5. #5
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut
    Si cela fonctionne car ma base est d'origine en SQL2000. en faisant la test cela fonctionne. Ensuite j'ai remonter cette même base en 2005 et la cela ne fonctionne plus.

Discussions similaires

  1. problème chaine de connexion sql server 2005 express / c#
    Par tofke dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 17/01/2009, 17h37
  2. problème connexion au serveur sql server 2005
    Par soussie dans le forum Administration
    Réponses: 1
    Dernier message: 21/11/2008, 10h10
  3. probléme entrée interface microsoft sql server 2005
    Par ess2007 dans le forum Administration
    Réponses: 2
    Dernier message: 01/07/2008, 17h03
  4. Problème connection distante sur SQL Server 2005 Express
    Par chatroux dans le forum Administration
    Réponses: 1
    Dernier message: 17/06/2008, 18h10
  5. [ODBC] Problème avec odbc et sql server 2005
    Par scaleo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/10/2005, 09h49

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