• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLserverからのデータ取得)

SQLserverからのデータ取得

このQ&Aのポイント
  • SQLserver2000からデータを取得し、テーブルの件数を表示する方法について困っています
  • ASPでの開発中にSQLserver2000からデータを取得しようとした際、ページを表示できないエラーが発生しました
  • デバッグ方法がわからず、どこでエラーが発生しているのか特定できません。クライアント先でのツールやソフトウェアのインストールができないため、別の解決策を探しています

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

SQLサーバーのデータベースへのアクセス出来るユーザーに 『IUSER_サーバー名』のユーザーは追加なさっていますか? OfficeXP以降がインストールされているのであれば Officeの一部である Microsoft Script Editor(MSE7.exe)でデバッグしてみてはいかがでしょう どこまで動いているのか確認なさったほうがいいように思います 怪しいと思われる部分以前のコードにして Response.WriteなどでHTML出力してエラーの特定をしましょう

asakosuper
質問者

お礼

返信ありがとうございます。 確認したところ、おっしゃるとおりユーザー名の追加で解決できました!感謝感謝です。 あと、Microsoft Script Editorはインストールされていませんでした。 response.Writeで、「この辺かな?」とこまめに追っていくしかないのかなと思うのですが、いまいち使いこなせません。 例えば、コネクションが既にopenされているのにcloseせずにまたopenしようとすると、エラーになり2度目のopenはできませんが、ブラウザで確認するとなんのエラーメッセージも表示されず、確認が難しいです。 このような、DBに関わる部分の確認は、openしたあとに取得した項目を Response.Writeで表示するなどして確認していくしかないのでしょうか? (出来るだけ、sprict editerなどは使わない方法だと・・・) 重ねて申し訳ありませんが、宜しくお願いいたします。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

ASPのデバッグだと こまめにRespose.Writeで書き出すしか無いでしょうね VBSファイルなどで先にある程度デバッグしてからASPに更新して といった手順もありますが 実行者がVBSとASPで異なりますので権限などの違いによりVBSではOKなのに ASPではNGといった現象も起きます コマンドプロンプトなどで実行されるVBSではログインユーザーの権限で実行されるのですがASPでは『IUSER_XXX』で実行するので『Guests』グループの権限しかありませんので … Connectionなら Stateプロパティで確認出来そうですよ Const adStateClosed = 0 if cnn.State == adStateClosed then   cnn.Open End if といった具合ですけど 私は開発時に Open/Closeなど対になっている物の場合先に両方をコーディングしてから中身の記述をする癖つけています # たまには忘れてて … バグる時もありますが

asakosuper
質問者

お礼

返信ありがとうございます。 VBSで・・・でも確かに微妙に異なるのだと、ちょっと怖いですね。 >Connectionなら Stateプロパティで確認出来そうですよ なるほど!参考にさせて頂きます。対の場合も、やっぱりクセづけて慣れていくのが一番なんですね。 地道に、追っていけるようがんばってみます。 大変参考になりました! また質問させていただくと思いますが、その際は宜しくお願いいたします。 本当にありがとうございました。