2009-07-05 14 views
0

この古典的なASPスクリプトを実行しているとき、私はエラーを取得しています:従来のASPの使用中にADO接続エラーが発生するのはなぜですか?

Dim DB_CONNECTIONSTRING, rs, iRecordCount, strSQL 

DB_CONNECTIONSTRING = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=employee;Trusted_Connection=yes;" 
strSQL = "SELECT * FROM EmployeeProfiles" 
Set rs = Server.CreateObject("ADODB.Recordset") 
rs.Open strSQL, DB_CONNECTIONSTRING, adOpenStatic, adLockReadOnly, adCmdText 

私は取得していますメッセージは(サーバがexsistん)です:

SQL Serverエラー」の

のMicrosoft OLE DBプロバイダー80004005 '

[DBNETLIB] [ConnectionOpen (Connect())] SQL Serverが存在しません またはアクセスが拒否されました。

\ Default.aspファイル、ラインは13

+0

SQL Server 2005を実行していますか?そして、デフォルトのインスタンスまたは名前付きインスタンスを実行していますか? – feihtthief

答えて

1

接続文字列でTrusted_Connection = yesを使用しています。つまり、ASPが実行されているIDは、Windows認証を使用してデータベースサーバーに接続しようとします。 Webサーバーが使用する実際の識別情報は、プラットフォームとセットアップ(通常はIUSR_Foo)によって異なります。

これが問題であるかどうかをテストするには、接続文字列を一時的にSQL認証を使用するものに置き換えてみてください。これが問題の場合は、データベースアクセスを許可された別のユーザーアカウント(優先)でASPを実行するようにWebサーバーを構成するか、現在のWebサーバーのIDアクセス権をデータベースに与えることができます。もちろん、SQL認証に固執することもできます。

1

どちらかあなたは上でASPを実行しているサーバが実行しているデータベース・サーバーを持っていない、またはデータベース・サーバーは、インスタンス名を持つ必要があります。 1つのよくある間違いは、SQLExpressのインストールにSQLEXPRESSインスタンス名を追加することを忘れることです。

+0

私はSQLExpressを使用していません。私はlocalhostを使用しています – Csharp

関連する問題