[SQL]Visual Basic 5.0 からストアド プロシージャをデバッグする際のヒント

この記事は、以前は次の ID で公開されていました: JP170496
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
Visual Basic 5.0 Enterprise Edition で、SQL Server のストアド プロシージャをデバッグすることができます。この資料では、Visual Basic 5.0 Enterprise EditionTransact-SQL (T-SQL) デバッガの設定に役立つと思われるいろいろなヒントを取り扱います。

詳細
  • デバッグを行うには、Professional または Standard バージョンではなく、Enterprise Edition の Visual Basic 5.0 を持っていなければなりません。
  • 適切なコンポーネントをすべて持つためには、SQL Server 6.5 用の Service Pack 1 を適用していなければなりません。SQL Server 6.5 Service Pack 2 は、SQL Server6.5 用の Service Pack 1 を含むもので、Visual Basic 5.0 Enterprise Edition に付随しています。これは、Tools\Tsql\Sql65.sp2 ディレクトリにあります。MSDN エディションでは、これは、1997 年 3 月の、Microsoft Visual Studio 97、Disk 4の、Sqlsrvsp\I386 ディレクトリの下にあります。
  • SQL Server は、ユーザー アカウントの下で動作しなければなりません。ローカルアカウントの下で動作すると、SQL Server の動作が、一貫性のないものになる場合があります。
  • リモート オートメーションに必要なサーバー サイド コンポーネントをインストールします。これらのコンポーネントは、Visual Basic Enterprise Edition CD の、CliSrv\Tsql\SrvSetup ディレクトリにあります。Windows NT 4.0 上で、単純に Sdi_nt4.exe セットアップ プログラムを実行します。Windows NT Server 3.51 コンピュータに関しては、必要なファイルを、手動でコピーして登録しなければなりません。これを行うための完全な解説は、CliSrv\Tsql\SrvSetup ディレクトリにある Readme.txt ファイルをご覧ください。これが完了したら、Sdi.dll ファイルが、Sqlservr.exe と同じディレクトリにあることを確認します。
  • Visual Basic Enterprise edition T-SQL Debugger を使って、Sdi50.dll デバッグコンポーネントを使用している SQL Server をデバッグすることはできません。適切な Sdi.dll コンポーネントを、上記のようにインストールしなければなりません。DLL は、それぞれ、別々のインターフェイスを持っています。そのため、この DLL を登録するために使用される一意識別子 (UID) は、Sdi.dll が使用しているものとは異なります。
  • リモート プロシージャ呼び出し (RPC) サービスが、サーバー コンピュータ上で開始されていることを確認します。これは、コントロール パネルを開き、[サービス] をダブルクリックし、Remote Procedure Call (RPC) Service および RemoteProcedure Call (RPC) Locator の両サービスが実行されていて、自動で開始するように設定されていることを確認することによって、行うことができます。
  • COM (DCOM) がインストールされているクライアント コンピュータ上に、RemoteAutomation が正常にインストールされていることを確認します。これは、インストール中に、Enterprise Features の下で、Remote Automation、ConnectionDesigner、Remote Data Objects (RDO)、Control、および SQL Debugging がすべて選択されていることを確認することによって、達成されます。
  • お使いのクライアント コンピュータが、Windows NT 4.0 またはそれ以降のバージョンを動作させている場合、DCOMCNFG を実行して、Vbsdicli.exe の実行権、アクセス権を全員が持っていることを確認します。クライアント コンピュータが Windows 95 を動作させている場合は、このユーティリティを、 http://www.microsoft.com/oledev/ からダウンロードすることができます。
  • コンピュータがお互いに接続可能で、その Windows NT コンピュータ上でリソースを使用する権限が自分にあることを確認します。たとえば、ネットワークが TCP/IP を使用している場合、PING ユーティリティを使用して、クライアントが SQL Server と通信できることを確認します。この通信は、クライアント コンピュータ (Visual Basic がインストールされているもの) からのドライブを、SQLServer にマップすることによってテストすることもできます。
  • T-SQL Debugger によるデバッグ セッション中に、ブレークポイントの使用を有効にするには、クライアント サイド カーソルを使用します。このオプションは、UserConnection オブジェクトのプロパティ上にある Miscellaneous タブで設定することができます。
  • Automation Manager が同じコンピュータ上で動作を続けている間に、SQL Server サービスが停止して再起動されると、Automation Manager が次に SQL Server に接続しようとする際に、SQL Server 上の Windows NT イベント ログに、「予期せぬエラー」のメッセージが表示されます。このエラー メッセージのソースは、MSDEVSDI になります。こうなった場合、タスク マネージャを使って、SQL Server 上の Automation Manager (Autmgr32.exe) を停止し、Sdi.dll および Autprx32.dll に、DCOM 経由でサーバー上に Autmgr32.exe をロードさせます。
  • リモートの Automation Manager (Autmgr32.exe) が、クライアント上のコマンド プロンプトから開始されていないことを確認します。Sdi.dll および Autoprx32.dll の各ファイルに、COM 経由でサーバー上に Autmgr32.exe をロードさせます。
  • 拡張エラー情報が、Windows NT イベント ログに含まれている場合があります。具体的には、以下の Event ID 7 は、上記の 3 番目および 11 番目の項目に直接関連します。
    Event ID #7: An unexpected error (xxxxxxxx) occurred. Debugging willbe turned off for connection %. Server execution failed.
    イベントのエントリは、MSDEVSDI の下で行なわれます。
  • 運用中のサーバー上でデバッグすることは、お勧めしません。デバッグ製品の、追加オーバーヘッド、介入の性質のせいで、他のユーザーに悪影響を与えてしまう場合があります。
  • @@ERROR のようなグローバル変数を、監視ウィンドウに追加することができます。
  • イメージ データタイプは、パラメータとして渡すためのデータタイプ オプションではありません。[Unassigned Parameters] ダイアログ ボックスは、表示されません。テキスト データタイプは、監視ウィンドウでは、編集や表示ができません。
  • T-SQL Debugger を使用して、コードを書かずに、ストアド プロシージャをデバッグすることができます。しかし、T-SQL Debugger を使用して Visual Basic コード上で「ランタイム デバッグ」を行っている場合は、これは、RDO 接続上でのみ行うことができます。
  • ランタイム デバッグ用の設定を行うには、次のようにします。
    1. Add-In Manager の、Add-Ins メニューの下で、Visual Basic T-SQL Debugger が使用可能なことを確認します。
    2. Visual Basic の [ツール] メニューで、[T-SQL Debugger Options] をクリックします。
    3. [Automatically step into Stored Procedures through RDO connections] オプションが有効になっていることを確認します。
  • T-SQL Debugger を使用できるようにするには、SQL Server ODBC ドライバの2.65.0203 より後のバージョンを使用しなければなりません。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 170496 (最終更新日 1998-01-09) をもとに作成したものです。

trans-sql tran-sql eventlog
プロパティ

文書番号:170496 - 最終更新日: 02/05/2014 05:40:22 - リビジョン: 1.0

  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • kbnosurvey kbarchive kbinfo KB170496
フィードバック