必要なレガシーアプリケーションをWindowsServer 2008x64およびIIS7に移行しようとしています。 Classic ASPで記述されており、SQL Server2005データベースに接続します。
ただし、ページを実行すると、次のエラーが表示されます。
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
私が使用している接続文字列は次のとおりです。Driver=SQL Server; Server=SERVERNAME; Initial Catalog=DBNAME;
32ビットWin2k3サーバーで実行されていたとき、DOMAINNAME\SERVERNAME $を使用してSQLServerにアクセスしたため、匿名ログオンを使用している理由がわかりません。
以下の設定があります。
SQL Server2005-混合モードで実行しています。 IIS7アプリケーションプール-32ビットアプリケーションをTrueに設定できるようにします。
また、SQLServerのユーザーとしてサーバーを追加しました。
私は今、いくつかのことを試しましたが、アイデアが不足し始めています。
Odbc接続に間違ったデータベースドライバを使用していると思います。 MS SQL 2005は、SQL NativeClientを使用します。
Driver = SQLネイティブクライアント; UID =ユーザー名; PWD =パスワード; Server = SERVERNAME;初期カタログ= DBNAME;
ここからセットアップをダウンロードできます: http://www.Microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=df0ba5aa-b4bd-4705-aa0a-b477ba72a9cb
IIS7のアプリケーションプールアカウントがSQLServerで認証できるように、接続文字列に属性を追加する必要があると思います。下記参照:
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
Trusted_Connectionピースにより、IISは、アプリプールアカウントの資格情報を使用して接続できます。前述のように、マシンアカウントで実行されている場合は、SQLServerで作成したログインが機能します。 。