@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ASP.NETの場合とVB.NETの場合のSQLServer接続の違い

1
投稿者投稿内容
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2004-07-30 15:49
こんにちわ。

VB.NETの場合に接続に成功していたSqlConnectionがASP.NETで試すと
「アクセスが拒否されたか、サーバーが存在しません」というエラーが返って来てしまいます。
調べてみても特に2つの違いについては触れられておらず、ASPの場合に特殊な繋ぎ方なども
していないと思っています。

なぜエラーが帰ってきてしまうのかわからず途方にくれております。
良い方法がありましたら、教えていただけますか?
下記の接続文字列の●●●ですが、開発環境=winXPでサーバ=win2000のせいか、
サーバ名が認識できずIP指定しています。
このIP指定でVB.NETの場合は上手くいっています。

実際のソース
---------------------------
'DB接続文字列の設定
oConn.ConnectionString = ("database=SampleDB;" & _
"server=●●●;" & _
"User ID=sa; PAssword=;")
'コネクションの設定
oCommand.Connection = oConn
'DB接続を開く
oConn.Open()
じいじ
大ベテラン
会議室デビュー日: 2003/11/11
投稿数: 223
投稿日時: 2004-07-30 15:55
次の2つの場合の違いですよね?

(1)VB.NET + ADO.NET で作成したWindowsアプリケーション
(2)VB.NET + ADO.NET + ASP.NET で作成したWebアプリケーション
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2004-07-30 16:05
>ちづるさん
こんにちは。

http://support.microsoft.com/default.aspx?scid=kb;ja;820928

が、関係してるのかなぁ…

アクセスが拒否されたか サーバーが存在しません sql ASP.net

でMSのサイトを検索してみると良いかも。
(因みに上のページは上記内容で検索しました)

http://allabout.co.jp/career/database/subject/msubsub_aspnet.htm

とかも見てみると良いかも。
_________________
Inspired ambitious

[ メッセージ編集済み 編集者: NAO 編集日時 2004-07-30 16:20 ]
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2004-07-30 17:52
サーバーエクスプローラからSqlConnectionを作成して、そこから実行しても
同じように「サーバーが・・・」というエラーが返って来ました。

DSN接続をやめてもなってしまうのですが・・・。
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2004-08-02 11:20
サーバー名を認識させたあと

oConn.ConnectionString = ("database=SampleDB;server=SamplePC;" & _
"User ID=sa; PAssword=;")
'コネクションの設定
oCommand.Connection = oConn
'DB接続を開く
oConn.Open()

とやってみても同じ結果でした。
SQL認証はASP.NETでは出来ないのでしょうか?

>じいじさん
その違いではなく、接続の違いがあるのかどうかという意味です。
例えば、ASP.NETの場合はWebサーバーを介してるから、この記述じゃ接続できないとか
そういう意味合いで「ちがいは何ですか?」と投稿しました。
こちらの言葉がたらず申し分けありません。
あかし
常連さん
会議室デビュー日: 2003/11/27
投稿数: 24
投稿日時: 2004-08-05 10:24
あかしと申します。こんにちは。

おそらくじいじさんが確認されたかったのは、WindowsアプリケーションなのかWebアプリケーションなのかということではないでしょうか?
WindowsアプリケーションとWebアプリケーションでは、DBに接続するユーザー(権限と言った方がよろしいでしょうか?)が異なります。
Webの場合は(既定では)ASPNETというユーザーでDB接続を行っているため、ASPNETにDBアクセス権限がなければ上記のエラーが出たはずです。

一度ASPNETの権限を確認されてはいかがでしょうか。
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2004-08-05 16:55
>あかしさん

Webアプリケーションです。
いろいろ調べて
・localhostにあるwebアプリの匿名アクセスをはずす
・sqlconnectionだけはウィザードで作成
・web.configにてID偽装(impersonate="true"は記述できたが、ユーザ・パスは設定すると
エラーになるため、設定できず)
→開発環境のユーザにsaを追加

でどうにか接続はできるようになりました。
ただ、ユーザに関しては非常に微妙な対処をしていますので、実際のサーバにこのPGをおいたときに動くのかどうか危ない感じがします。
1

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