0

mysqlデータベースに接続するASP.NETアプリケーションがあります。サーバー上でVisualStudio(開発サーバーを使用)でWebサイトを実行すると、mysqlデータベースに正しく接続できます。

ただし、同じサーバーでIISを使用している場合は、例外'Unable to connect to any of the specified MySQL hosts'がスローされます。IDが。のアプリケーションプールを使用するように構成されています'ApplicationPoolIdentity'

接続文字列は次のようなものです。

<add name="MYSQLConnectionString" connectionString="uid=name;server=111.11.111.111;Pwd=password;database=dbname" providerName ="MySql.Data.MySqlClient"/>

何が問題なのですか?

4

2 に答える 2

0

Visual Studio でデバッグする場合、アカウントはローカル管理者であり、ほとんどすべての権限を持っています。IIS の既定のアプリケーション プール アカウントには、これらの昇格された特権がありません。IIS サイト アプリケーション プールが実行されているアカウントに正しいアクセス許可があることを確認するか、アカウントを一時的にローカル システムに変更して、アクセス許可に関連する問題かどうかを確認します。を使用FileMonして、既定のアカウントがアクセスできないファイルまたはレジストリ エントリを追跡できます。

[編集]

ほとんどの場合、MySQL を次のような場所にインストールしてC:\MySQLおり、IIS アプリケーション プール アカウントにそのディレクトリへの読み取りアクセス権と、場合によってはレジストリ エントリを 1 つまたは 2 つ付与する必要があります。

于 2013-02-16T20:13:45.020 に答える
0

サイトはルートにインストールされたのではなく、デフォルトの Web サイトにアプリケーションとしてインストールされました。ルート サイトとして実行すると、機能します。正確な理由はわかりませんが。

于 2013-02-17T09:33:17.380 に答える