プロが教える店舗&オフィスのセキュリティ対策術

こんにちは、いつもお世話になります。
今回はじめてストアドプロシージャというものをプログラムしているのですが、デバッグの方法がよくわかりません。

したい処理は練習として「あるテーブルのデータを検索し、その結果をCSVに出力する」という簡単なものなのですが、クエリアナライザで実行すると「コマンドは正常に終了しました。」というメッセージが出ているにもかかわらず出力されるべきテキストファイルはまったく存在しません。

そこでクエリアナライザのオブジェクトブラウザから該当ストアドプロシージャを選択し、右クリックのメニューで出てくる「デバッグ」という機能を試してみたのですが、そうすると以下のエラーメッセージが出てきました。


ODBC: メッセージ 0、レベル 16、状態 1
[Microsoft][ODBC SQL Server Driver][SQL Server]DLL mssdi98.dll がロードできないか、参照している DLL の 1 つがロードできません。理由 : 126(指定されたモジュールが見つかりません。)。

・・・意味が良くわからない上に、何行目でエラーになっているのかもわかりません。ためしにある変数に値をセットする一行目以外すべてコメントにして実行してみたのですが、同じメッセージが表示されます。

・・・おそらく、ストアドプロシージャを実行する前から何らかの理由でエラーになっていると思うのですがこの現象についておわかりの方いませんでしょうか?

A 回答 (3件)

> regsvr32 sqldbg.dll というコマンドをコマンドプロンプトで実行しようと


> してエラーになりました。エラーメッセージは「モジュールがみつかりません」
> というエラーです。

フルパス指定してはどうでしょうか?(たぶん、パスが通っていないと思うので)
また、最初に、コンポーネントを削除してから再登録した方がよいのでは?

(1) RegSvr32 /U "C:\Program Files\Microsoft SQL Server\MSSQL\Binn\sqldbg.dll"
(2) RegSvr32 "C:\Program Files\Microsoft SQL Server\MSSQL\Binn\sqldbg.dll"

の順でどうでしょうか?
(これでもダメなら、再インストールしかないかも・・・)
    • good
    • 0
この回答へのお礼

ありがとうございます。
・・・やっぱりダメでした。
今回は忙しいのでデバッガはあきらめましたが、どこか暇を見つけて再インストールしてみます。

お礼日時:2003/03/21 09:20

mssdi98.dll を Windowsのフォルダのsystemかsystem32の下に


コピーしてみたらどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
両方にコピーして試してみましたが、ダメでした・・・。

お礼日時:2003/03/20 11:35

多分、必要なDLLが見つからないか、バージョンが古いため読み込めず、実行自体できない状態だと思われます。



mssdi98.dll は HDDの中にありますでしょうか?
また、あった場合は、どこにありますでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。検索してみました。
以下の場所にありました。

C:\Program Files\Microsoft SQL Server\MSSQL\Binn

あと、自分で探した情報で
http://www.microsoft.com/japan/msdn/library/defa …

というものを見つけました。まさに今の現象のトラブルシューティングだったのですが、指定どおりに実行してもうまくいかない状態です。

これの「サーバーとクライアントが異なるコンピュータの場合」という手順を作業しているのですが、クライアント側手順3「次に、ファイルを登録します」で、
regsvr32 sqldbg.dll というコマンドをコマンドプロンプトで実行しようとしてエラーになりました。エラーメッセージは「モジュールがみつかりません」というエラーです。

お礼日時:2003/03/20 11:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す