Précédent   Forum des professionnels en informatique > Bases de données > Sybase > Adaptive Server Enterprise
Adaptive Server Enterprise Forum d'entraide concernant Sybase Adaptive Server Enterprise, le dataserver phare de Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/06/2006, 15h15   #1
Invité de passage
 
Inscription : février 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 7
Points : 4
Points : 4
Par défaut [ASE 12.3] Error 311

Suite au changement de version du serveru ASE 12.1 vers 12.3, lors de l'utilisation d'un curseur FOR UPDATE , au moment de la déclaration, le SGBD me retourne ce message d'erreur:

Error 311: The optimizer could not find a unique index which it could use to scan table '%.*s' for cursor '%.*s'.

J'ai trouvé sur le net comment contourner ce problème( http://manuals.sybase.com/onlinebook...TextView/14656 ) mais je voudrais savoir pourquoi ce problème apparait lors d'un cchangement de version (12.1 vers 12.3).
Il y a t'il un moyen de solutionner ce problème autrement que par la solution donné par sybase, c'est a dire en autre qu'en modifiant la table concerné par le curseur; un changement d'un paramètre sur le serveur par exemple...

Merci d'avance.
ESKUIHEL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2006, 08h55   #2
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
Si on fait un curseur FOR UPDATE il est impératif d'avoir un index avec une clé unique. Cela est nécessaire pour que Sybase puisse correctement faire les modifications faites dans la ligne courante du curseur.

Il s'agit sans dout d'un bug que cette condition n'était pas éxigée dans une version précédente de ASE.

Michael

PS. Je pense que vous voulez parler d'ASE 12.5.1 et 12.5.3 - 12.3 n'existant pas...
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2006, 10h42   #3
Membre à l'essai
 
Inscription : février 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 28
Points : 20
Points : 20
la commande dbcc traceon(3604,346) résout ce problème selon un post dans un forum... mais je n'en sais pas plus

http://groups.google.fr/group/sybase...555c3422e2deba

Justement par la même occasion ou pourrait on trouver une doc sur la liste de tous les flag dbcc?
SQL972 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2006, 13h31   #4
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
Il me semble que la FAQ Sybase (http://www.isug.com/Sybase_FAQ) en contient une bonne partie.
Le petit livre de Rob Vershoor (The Complete Sybase ASE Quick Reference Guide) a aussi une bonne liste de trace flags non documentés.

Comme d'habitude - les commandes et traces flags non documentés sont à utiliser avec extrème prudence...

Michael
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h00.


 
 
 
 
Partenaires

Hébergement Web