J'utilise ColdFusion 9, avec créer un nom de collection de vérité 'shopColl'. Je crée un calendrier de tâches pour appeler un fichier CFM pour indexer cette collection toutes les 5 minutes.Comment gérer error.VCollectionNotAvailableException: Collecte après ouverture. (10) dans ColdFusion?
mais je trouve cette erreur lorsque je tente de rafraîchir l'index dans la collection:
An error occurred while performing an operation in the Search Engine library.; DETAIL:The collection is not available.: com.verity.coll.VCollectionNotAvailableException: Collection down after opening. (10)
Pourriez-vous me aider comment résoudre ce problème? le processus semble correct avant jusqu'à cette nuit.
Le code ci-dessous, est dans le fichier CFM que le calendrier des tâches invoquera dans la routine.
<cfprocessingdirective suppresswhitespace="true">
<cftry>
<!--- pull the content --->
<cfquery datasource="shop" name="shop.getContent">
SELECT *
FROM shop
</cfquery>
<!--- update collection --->
<cflock name="cfindex_lock" type="exclusive" timeout="30">
<cfindex collection="shopColl"
action="refresh"
type="custom"
query="shop.getContent"
key="id"
title="title"
body="title,description" >
</cflock>
<!--- Log information about document change --->
<cflog file="updateStatus" application="No"
type="information"
text="MESSAGE: Eso shop collection updated; TIME: #now()#">
<cfreturn true />
<cfcatch type="any">
<!--- Log information about error --->
<cflog file="updateStatus" application="No"
type="error"
text="MESSAGE: error in updating index -- #cfcatch.message#; DETAIL:#cfcatch.detail# TIME: #now()#">
<cfreturn false />
</cfcatch>
</cftry>
</cfprocessingdirective>
Salut, jarofclay. J'ai essayé d'exécuter CFM directement avec le navigateur, mais ColdFusion enregistre toujours la même erreur. Pourriez-vous me donner plus de suggestions? – Teerasej
-Éteignez la tâche planifiée afin qu'elle ne s'exécute pas pendant que vous testez -Remarquez le service Verity -Essayez d'exécuter à nouveau votre script (pas comme prévu) et notez l'heure Si cela vous donne toujours la même erreur , essayez d'exécuter une réparation avec l'exécutable dans le répertoire k2 \ _nti40 \ bin: "mkvdk.exe -collection -repair" –
jarofclay