Erreur sur une Requette-Sql [Résolu]

Signaler
Messages postés
6
Date d'inscription
samedi 16 août 2008
Statut
Membre
Dernière intervention
18 janvier 2009
-
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
-
slt, pour tout le monde.
j'ai un probléme lorsque j'execute cette requette.

 SELECT * FROM ARTICLE WHERE contains(libell,' "CHAINE" , "COURROIE" ')

lorsque je fait l'analyse de la requette. c'est OK.
au moment de l'execution de cette le message suisvant apparait.

Serveur : Msg 7601, Niveau 16, État 2, Ligne 1
Impossible d'utiliser les prédicats CONTAINS ou FREETEXT sur table 'ARTICLE' parce qu'il n'y a pas d'index de texte intégral.

je sait pas se que je doit faire.

merci pour votre Aide.

4 réponses

Messages postés
6
Date d'inscription
samedi 16 août 2008
Statut
Membre
Dernière intervention
18 janvier 2009

slt, pour tout le monde.
j'ai un probléme lorsque j'execute cette requette.

 SELECT * FROM ARTICLE WHERE contains(libell,' "CHAINE" , "COURROIE" ')

lorsque je fait l'analyse de la requette. c'est OK.
au moment de l'execution de la requette, le message suivant apparait.
sachant que je doit faire un filtre sur un champ <LIBELL> quit peut contenir la valeur <CHAINE>  et ou  <COURROIE>

Serveur : Msg 7601, Niveau 16, État 2, Ligne 1
Impossible d'utiliser les prédicats CONTAINS ou FREETEXT sur table 'ARTICLE' parce qu'il n'y a pas d'index de texte intégral.

je sait pas se que je doit faire.
s'il ya autres solutions veuillez me préciser comment faire.

merci pour votre Aide.
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Le message est clair :
 Pour etre utiliser, l'instruction CONTAINS nécessite qu'au préalable (à la creation de la table généralement), un index ait été créé sur les champs voulus

Cet index n'existe pas dans ta base de donnée, tu ne peux donc pas utiliser CONTAINS

Essaye peut-etre avec ceci :
SELECT * FROM ARTICLE WHERE (libell LIKE "%CHAINE%") OR (libell LIKE "%COURROIE%")

JE t'invite à lire cet article sur les index paru récemment, ce qu'on peut en attendre, ce qu'ils appportent, mais aussi ce qu'ils n'apportent pas. On peut voir que dans certains cas ou on pourrait penser que les index apportent quelque chose, il n'en est rien
--> http://sqlpro.developpez.com/cours/quoi-indexer/
---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
SELECT * FROM ARTICLE WHERE libell   contains "CHAINE" or "COURROIE"   suis pas sur mais ça me semble plus logique de mettre libel avant contains

Bonjour chez vous !
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Après vérification dans l'aide, ce n'est pas un simple index qui doit etre créer mais un index particulier appelé Index de texte intégral

Je t'invite à consulter l'aide MSDN pour plus de précision, la commande à utiliser étant CREATE FULLTEXT INDEX

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php