2008-09-17 6 views
0

Je suis depuis longtemps fan des Accélérateurs de Clavier de Procédure Stored, comme décrit dans this article. Cependant, lorsque nous sommes passés de SQL 2000 à 2005, et de Query Analyzer à Management Studio, la gestion des arguments a changé. Dans le contrôle qualité, les arguments séparés par des virgules étaient automatiquement lus comme deux arguments distincts. Dans SSMS - du moins pour moi - c'est lu comme un argument, avec des virgules dedans. De même, si je transmets un seul argument avec des guillemets simples, j'obtiens une erreur de syntaxe, , sauf si j'échappe aux guillemets ('->' '). Dans l'article lié ci-dessus, l'auteur suggère que cela ne devrait pas être le cas pour SSMS, mais même avec son exemple exact, les arguments séparés par des virgules sont toujours interprétés comme un argument sur chaque installation SSMS sur laquelle je l'ai essayé (3 eux), en cours d'exécution contre toutes les installations SQL Server que j'ai essayé (4 d'entre eux).Correction d'un problème de gestion des raccourcis clavier dans SQL Server 2005 Mgmt Studio Keyboard Accelerator?

Par exemple, en tapant ce qui suit dans SSMS,

Person,4 

puis en sélectionnant et en cours d'exécution le raccourci, je reçois le message d'erreur « Nom d'objet incorrect « Personne, 4 ».

Quelqu'un at-il J'ai essayé plusieurs fois ce problème au cours des deux dernières années et je n'ai pas eu de chance

Éditer: Peut-être un problème avec une version spécifique de SSMS. J'ai un message de suivi ci-dessous:

Répondre

0

La suggestion de Tim n'a pas résolu mon problème sur mon PC de développement, mais elle m'a convaincu d'essayer de nouveau à partir d'un autre PC. Lorsque vous utilisez un SSMS d'un PC différent pour vous connecter à la base de données du PC de développement et que vous essayez exactement ce que Tim décrit, j'ai le même comportement que celui décrit par Tim.

J'ai également pu recréer le problème d'analyse des arguments sur les autres PC que j'avais essayés par le passé. J'espère que Tim peut me faire savoir quelle est la version et le numéro de build de son installation SSMS, car ma théorie actuelle est que le problème provient uniquement de la construction spécifique que mes collègues et moi avons sur nos PC de développement - la chaîne de version est "Microsoft SQL Server Management Studio 9.00.1399.00". Toutes nos installations de cette version ont eu lieu il y a plus d'un an, donc je ne sais pas si je peux retracer de quel disque il s'agit.

Celui qui n'a pas le problème est en fait notre serveur de développement, qui a "Microsoft SQL Server Management Studio 9.00.3042.00" installé.Je ne sais pas si cela peut être quelque chose que je peux faire disparaître en corrigeant ou quelque chose, mais il semble actuellement que 1399 lit la sélection entière comme un seul argument, tandis que 3042 fait un peu de pré-analyse. J'ai aussi récemment trouvé que quand je passe une chaîne qui contient "-" (jeton de commentaire) en 3042, tout ce qui suit le "-" est ignoré, alors qu'en 1399, tout est inclus dans le premier argument.

1

Je n'avais jamais essayé cela avant d'avoir lu votre question et ensuite lu l'article que vous avez référencé, alors prenez ceci avec un grain de sel. Cela dit, je suis en mesure de faire fonctionner le processus sur mon ordinateur en utilisant SSMS, et je suis également capable de dupliquer l'erreur que vous avez décrite. Pour que cela fonctionne comme prévu, j'ai créé le sproc dans la base de données master, affecté le raccourci clavier et redémarré SSMS. J'ai ensuite tapé le nom de la base de données. Nom_schéma.nom_table en guillemets simples suivi d'une virgule puis d'une valeur entière (le sproc que j'ai testé était l'exemple GetRows dans l'article). J'étais toujours connecté à la base de données master.

Cela a fonctionné sans incident.

Pour obtenir la même erreur que celle que vous avez mentionnée, j'ai supprimé la référence au nom du schéma ou au nom de la base de données et j'ai reçu la même erreur que vous.

Vous devez peut-être ajouter le nom de la base de données et le nom du schéma avant le nom de la table?

+0

Pouvez-vous vérifier quelle est votre version/construction exacte de SSMS? Cela ne résout pas le problème de mon PC principal, mais après votre commentaire, j'ai été en mesure de répliquer vos résultats en utilisant un PC différent avec un build # différent. J'enquête plus en ce moment; publiera les résultats complets dans une modification à ma question. –

0

J'utilise également la version 9.00.3042.00 de SSMS, ce qui explique probablement pourquoi elle fonctionne sur ma machine.

0

D'accord avec Tim. Je viens de passer à SQL Server 05 sp2 et je confirme que ce bug est corrigé.

Questions connexes