- PR -

[ASP.NET]他のDBサーバにSQL認証を行うと拒否される

投稿者投稿内容
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2004-08-30 10:49
前に似たような投稿をした事がありましたが、問題が解決しませんでしたので
投稿させていただきます。

とあるWEBアプリをAというアプリケーションサーバにインストールしました。
DBサーバはBにあります。

この際にDB接続(SQL認証)を行うと「ユーザが存在しないか 接続が拒否されました」
とエラーになり、接続できません。
ユーザは存在しますので、確実に接続が拒否されているのです。

なぜ断言できるかというと、他のDBサーバに接続を直すと成功するからです。
他のDBサーバとBのDBサーバの違いはOSです。
他のDBサーバはwindows2000Serverで、BはwindowsXPです。

接続のconnectionはウィザードで作成したものなので、記述が間違えてるわけではなさそうです。(Server名を変更すればほかのDBサーバに接続できることから)

2000で動く接続がXPで動かないのはなぜか?というのがあり、いろいろいじってみましたが
やはり接続が拒否されます。

わかる方がいらっしゃいましたら、どうか指南をお願いします。
holic
ベテラン
会議室デビュー日: 2004/08/24
投稿数: 74
投稿日時: 2004-08-30 11:10
WindowsXP で、パーソナルファイアウォールが動いているというオチでは?
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-08-30 12:00
引用:

holicさんの書き込み (2004-08-30 11:10) より:
WindowsXP で、パーソナルファイアウォールが動いているというオチでは?


一番ありそうですね。
DBサーバーには接続できるんですか?
SQLSerevrはデフォルトで1433番かな?
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2004-08-30 13:36
>holicさん、一郎さん

ご指南ありがとうございます。
設定として、インストールEXEのポートが80に設定だったので、
それは有効にしてあります。
でも結果は一緒でした。

ポートの設定が悪いのか?とも思ってはいるのですが。
同じような環境(2003orXPにてwebアプリでDB接続)を行われてる方はいっらしゃると
思うのですが、何か初心者がひっかかりやすい注意事項などありましたら
教えていただけませんでしょうか?
どこをどう直せばいいのかもう途方にくれています・・・。
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2004-08-30 14:55
まったく別のWindows2003のODBC データソースアドミニストレータにてXPサーバを
認識テストをやってみましたが、やはり同じように
アクセスが拒否されるようです。

XPだからダメなのか、それとも2003にDBを構築してもやはり同じようになってしまうような
セキュリティが存在するのか・・・。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-08-30 17:13
>インストールEXEのポートが80に設定

インストールEXEって何のことですか?

それとすいません、書き方が悪かったんですが、前回の私の発言の
>DBサーバーには接続できるんですか?
というのは「DBサーバープログラムにTCP/IPの接続は張れるのか」ということです。
実際試してみてください。
holic
ベテラン
会議室デビュー日: 2004/08/24
投稿数: 74
投稿日時: 2004-08-30 17:24
引用:

ちづるさんの書き込み (2004-08-30 14:55) より:
まったく別のWindows2003のODBC データソースアドミニストレータにてXPサーバを
認識テストをやってみましたが、やはり同じように
アクセスが拒否されるようです。

XPだからダメなのか、それとも2003にDBを構築してもやはり同じようになってしまうような
セキュリティが存在するのか・・・。




そもそもアクセスが拒否される理由が、
・ネットワーク的に到達できないのか?
・DBコネクションが張れるのか?
・正しい認証方法を使っているのか?
・認証が通っているのか?

ぐらいのうち、どれかを特定しないことには、OSを変えてやってみても時間の無駄ですし、いざ本番で問題が出たときに困りますよ。

ゆっくり、ひとつひとつつぶしていくのが、結局は早道です。
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2004-08-30 17:50
>一郎さん、holicさん

そうですね、まずこちらが試したことを書きます。
・2003サーバからODBCで2000のDBサーバを認識できる
・XPから2000サーバの認識もできる
・2003⇔XPがアクセスが拒否される

・ネットワーク的に到達できないのか?
→同じワークグループ内に属していて、共有フォルダにアクセスできている
・DBコネクションが張れるのか?
→張れていない
・正しい認証方法を使っているのか?
→SQL認証を使用していて、ユーザはsaのパス無し(もちろんDBのユーザとして存在する)
・認証が通っているのか?
→ローカルのDBを参照すると認証は通る。(xp内)
 ネットワークを介して他のクライアント(2000)からXPのDBにアクセスしようとすると
 拒否される


なので、原因はXPも2003もOS内に何か存在しているセキュリティではじかれてるのではないか?
というのが私の結論でした。

スキルアップ/キャリアアップ(JOB@IT)