0

Sql Server Express 2008でlinq-to-sqlを使用するアプリケーションがあります。別のDALプロジェクトでDBMLファイルを使用し、それをWebプロジェクトに参照すると、SQLServerの実行時に次のエラーが表示されます。

SQL Serverへの接続の確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQLServerがリモート接続を許可するように構成されていることを確認してください。(プロバイダー:SQLネットワークインターフェイス、エラー:26-指定されたサーバー/インスタンスの検索エラー)

しかし、WebプロジェクトでDBMLを使用する場合、デバッグは問題ありません。しかし、Windows 7 64ビットのIISでは、次のようになります。

SQL Serverへの接続の確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQLServerがリモート接続を許可するように構成されていることを確認してください。(プロバイダー:名前付きパイププロバイダー、エラー:40-SQL Serverへの接続を開くことができませんでした)

これらの2つのエラーの原因は同じですか?接続文字列が正しくありませんか?

4

2 に答える 2

1

最初のケースでは、Web プロジェクト (所属先) ではなく、DAL プロジェクトに接続文字列があると思われます。web.config必ずWeb プロジェクトの にコピーしてください。

2 番目のケースでは、IIS をホストしているマシンが自分のマシンのデータベースに接続しようとしていると思います。その場合は、例外を確認してください。SQL Express インスタンスがリモート接続を許可するように構成されていること、IP プロトコルが有効になっていること (ローカル トラフィックの場合は名前付きパイプ)、およびマシンが IIS マシンにアクセスできることを確認してください。

于 2012-09-15T14:56:28.513 に答える
0

接続文字列が間違っていると思います。

心配するな。

dbml の designer.cs ファイルを確認してください。'<YourDBMLFile>DataContext()その中に' コンストラクターがあります。

接続文字列を変更します。あなたconnectionstringが正しいことを確認してください。

于 2012-09-15T10:22:22.593 に答える