2008-09-17 7 views
0

私はずっとthis articleで説明されているように、Stored Procedure Keyboard Acceleratorsのファンであった。しかし、SQL 2000から2005へ、クエリアナライザからManagement Studioへの移行時には、引数の処理が変更されました。 QAでは、カンマで区切られた引数は、自動的に2つの独立した引数として読み込まれました。 SSMSでは、少なくとも私のために、1つの引数としてコンマで読み込まれています。同様に、一重引用符で単一の引数を渡すと、( ' - >' ')をエスケープしない限り、文法エラーが返されます。上にリンクされた記事では、著者はSSMSの場合ではないはずですが、正確な例でも、私が試したすべてのSSMSインストールでコンマ区切りの引数が引き続き1つの引数として解釈されています私が試したすべてのSQL Serverインストール(4つ)に対して実行されています。SQL Server 2005 Mgmt Studioのカスタムキーボードアクセラレータショートカットで引数の処理を修正しましたか?

例えば、

Person,4 

は、それを選択し、ショートカットを実行し、SSMSに次のように入力して、私はエラーメッセージ「無効なオブジェクト名 『人、4』を取得するには。

誰もがいずれかを持っていますこの問題を解決するにはどうすればいいですか?誰もこのショートカットを使用していますか?私はこの問題を過去2年間に何回か調べたことがあり、運がなかったと思います。

編集:SSMSの特定のビルドに問題があるかもしれません。私は以下のフォローアップ投稿を持っています。

答えて

0

私の開発PCで私の問題は解決しませんでしたが、別のPCからもう一度試してください。別のPCのSSMSを使用して開発用PCのデータベースにログインし、Timが説明しているものを正確に試してみると、私はTimが説明したのと同じ動作をしています。

また、過去に試した他のPCでも、引数解析の問題を再現することができました。私の現在の理論は、問題は私の同僚と私が開発PC上に持っている特定のビルドからのものだからです。バージョン文字列は次のようになっています。 "Microsoft SQL Server Management Studio 9.00.1399.00"を参照してください。そのバージョンのインストールはすべて1年以上前から行われていたので、どのディスクを元に戻すことができるかはわかりません。

問題が発生していないものは、実際には「Microsoft SQL Server Management Studio 9.00.3042.00」がインストールされている開発サーバーです。私はこれがパッチ適用か何かによって消え去ることができるかどうかは分かりませんが、現在は1399が選択全体を単一の引数として読み取るように見えますが、3042はいくつかの事前解析を行います。また、私は最近、3042年に " - "(コメントトークン)を含む文字列を渡すと、 " - "の後のすべてが無視され、1399ではすべてが第1引数に含まれることがわかりました。

1

私はあなたの質問を読んだ後、あなたが参照した記事を読むまでこれを試みたことはありませんでしたので、これを塩の塊で取ってください。

つまり、SSMSを使用してコンピュータ上でプロセスを実行することができました。また、説明したエラーを複製することもできます。

これを期待どおりに機能させるために、私はmasterデータベースにsprocを作成し、キーボードショートカットを割り当ててSSMSを再起動しました。次に、databasename.schema_name.table_nameをシングルクォーテーションで入力し、その後にカンマと整数値を入力します(テストしたsprocは記事のGetRowsサンプルでした)。私はまだマスターデータベースに接続していました。

これは問題なく動作しました。

上記と同じエラーを表示するには、スキーマ名またはデータベース名の参照を削除し、同じエラーが発生しました。

おそらく、テーブル名の前にデータベース名とスキーマ名を追加する必要がありますか?

+0

SSMSの正確なバージョン/ビルドが何であるか確認できますか?これは私の主なPCの問題を解決するものではありませんが、あなたのコメントの後に、別のビルド番号の別のPCを使って結果を複製することができました。 私は今すぐもっと調べています。私の質問を編集して完全な結果を投稿します。 –

0

SSMSバージョン9.00.3042.00も使用していますが、これはおそらく自分のマシンで動作している理由を説明しています。

0

Timと同意します。私はSQL Server 05 sp2にアップグレードしましたが、このバグが修正されたことを確認しました。

関連する問題