- PR -

VB.NETでSQLサーバーへの接続エラー

1
投稿者投稿内容
FX
常連さん
会議室デビュー日: 2004/12/06
投稿数: 49
投稿日時: 2004-12-06 11:07
はじめましてASP.NET(VB.NET)でSQLサーバーへのアクセスでエラーになってしまいます。
SQLConnnectionを使用してSQLサーバーに接続しようとすると、アクセスエラーで落ちてしまいます。
IISは自端末でSQLサーバーは別のサーバーです。全く同じ構文でWINDOWSアプリケーションを作成すると問題なく接続できますしSQL ServerEnterpriseManageでも接続できます。IIS経由だと接続エラーになってしまいます。

IISの実行権限が問題なのかと思いIISのデフォルト偽装ユーザーのIIS_MachineNameに開発マシンのAdministrator権限を与えてみましたが結果は同じでした。

エラーメッセージ「SQL Serverが存在しないか、アクセスが拒否されました。」

ソース
Dim myConnection As New SqlConnection("data source=ServerName; initial catalog=DBName; User ID=sa; password=;")

'データベースに接続
myConnection.Open()

SQLの認証はSQL認証です。ユーザーはsaのパスワード無しです。

開発環境は以下の通りです。

開発マシン
OS WindowsXP Pro

SQLサーバー
OS Windows2003
SQL Server2000

なにかアドバイス等ありましたらよろしくお願いします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-12-06 19:46
 残念。ASP.NETの実行ユーザは「ASPNET」です。

 まぁ、単純に直すより、
http://www.atmarkit.co.jp/fdotnet/aspexp/index/index.html
http://www.atmarkit.co.jp/fdotnet/aspnet/index/index.html
この辺の記事に一通り目を通すことを勧めます。

_________________
FX
常連さん
会議室デビュー日: 2004/12/06
投稿数: 49
投稿日時: 2004-12-07 11:33
はじめまして、Jittaさんアドバイスありがとうございます。

ちょっと説明が足らなかったです。ASP.NETもアドミニストレーター権限を与えました。
しかし、考えてみるとローカルマシンのAdmin権限を与えてもあまり意味はないのかと思い直しました。
Windowsアプリでの実行はドメインユーザーですので、SQLサーバーへはドメインユーザーでアクセスしていることになります。ASP.NETはローカルマシンのユーザーですので、ドメインリソースに対してのアクセス権限は無いように思います。
そこで、SQLサーバーの「ローカルポリシー」のネットワーク経由でのアクセスに「Everyone」を入れてみたのですが、結果はダメでした。
SQLサーバー側で何か他の設定をしないといけないとは思うのですが、どこをいじれば良いかが解りません。
試しにWindows2000ServerのSQL Server2000に同じDBを作成して接続して見たところ問題なく接続できました。
1

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