0

アプリで SQL 接続エラー 26 を見つけようとしています。

Foo と FooAddIn という 2 つの密接に関連するアプリがあります。Foo は VS2010 でビルドされた Winforms アプリであり、正常に動作し、SQLExpress バックエンドに正常に接続します。

FooAddIn は、Foo.exe を参照し、同じ SQL Express インスタンスに接続する Outlook アドインです。というか、接続せず、代わりに次のように報告します。

A network-related or instance-specific error occurred while establishing a connection
to SQL Server. The server was not found or was not accessible. Verify that the 
instance name is correct and that SQL Server is configured to allow remote 
connections. (provider: SQL Network Interfaces, error: 26 - Error Locating 
Server/Instance Specified)

現在、両方のアプリが同じ接続文字列を共有しており、実際に同じ接続文字列を共有していることを確認しました。

この段階では、同じ開発者マシン内からテストしているだけなので、アプリは同じマシン上にあり、同じ VS2010 IDE を経由します。

Foo が SQL Express に接続しているという事実は、データベースがそこにあり、利用可能であり、アクセスできることを示しているため、このエラーに対するオンラインのアドバイスの多くは当てはまりません。

他に何を確認する必要がありますか?1 つのことは、Foo と FooAddIn がSystem.Data(v2.0.50727 と v4.0.30319) の異なるランタイム バージョンを実行していることです。それが要因でしょうか?

4

1 に答える 1

2

解決済み: 結局のところ、これは単なるファイアウォールの問題です


同僚は、 FooAddIn Outlook Addin がFoo Winforms アプリとは異なるセキュリティ コンテキストで実行されることを指摘しました。

ファイアウォールを確認したところ、Outlook.exe からのブロックされた接続が大量にリストされていることを確認しました。

したがって、それらが同じマシン上にあり、それらの接続文字列が同一であり、両方とも VS2010 アプリケーションであっても、ファイアウォールはそれらを同じものとはみなしません。

于 2012-07-03T15:12:25.577 に答える