Erreur sur une Requette-Sql [Résolu]

Messages postés
6
Date d'inscription
samedi 16 août 2008
Dernière intervention
18 janvier 2009
- - Dernière réponse : cs_casy
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
- 24 août 2008 à 13:36
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.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
6
Date d'inscription
samedi 16 août 2008
Dernière intervention
18 janvier 2009
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de fawzi67
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
38
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
3288
Date d'inscription
jeudi 3 avril 2008
Dernière intervention
14 septembre 2014
7
0
Merci
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 !
Commenter la réponse de gillardg
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
38
0
Merci
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
Commenter la réponse de cs_casy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.