1

私はado.netエンティティフレームワーク4.1を使用して、コンピューター上にあるsql server 2008r264ビットインスタンスに接続しています。しかし、接続を初期化しようとすると、次の例外が発生します。

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

そのインスタンスのSQLサービスが実行されており、SQLブラウザも実行されています。1433ポートとSQLブラウザに例外を追加しました。SQL Server Configuration Managerでは、共有メモリが有効になっています。これは、パイプおよびtcp/ipとも呼ばれます。

これらは私のapp.config接続文字列です:ユーザーとパスワードを使用します:

 <connectionStrings>
<add name="DbTerminalContext" connectionString="Data Source=URIEL\SQLIT64;Initial Catalog=IFDB;User Id=sa;Password=password;MultipleActiveResultSets=True"
  providerName="System.Data.SqlClient" />

これはWindowsIDを使用しています。

<add name="DbTerminalContext" connectionString="Data Source=URIEL\SQLIT64;Initial Catalog=IFDB;Trusted_Connection=True;MultipleActiveResultSets=True"
  providerName="System.Data.SqlClient" />

URIEL、。\ SQLIT64、およびlocalhost \ SQLIT64を使用してみましたが、接続できません。

私はここや他の場所で見つかったさまざまな解決策を検索して試しました。解決策はありません。だから誰かが私を助けることができますか?前もって感謝します

4

2 に答える 2

0

SQL Server 構成マネージャーで NamedPipes が有効になっていることを確認する

([スタート] -> [SQL*] -> [構成] -> [SQL Server 構成マネージャー] をクリックし、[SQL Server ネットワーク構成] ノードをクリックします)。

于 2012-11-27T00:31:19.123 に答える
0

メタデータ リソース情報を接続文字列に追加してみてください。

エンティティ データ モデルが "TerminalDataEntities.edmx" と呼ばれると仮定すると、プロジェクトの obj\Debug\edmxResourcesToEmbed フォルダーに 3 つのファイルが生成されます。

  • TerminalDataEntities.csdl
  • TerminalDataEntities.ssdl
  • TerminalDataEntities.msl

これらのリソースを接続文字列に追加するには、add-Tags connectionString-Value の形式を変更する必要があります。

メタデータ:

metadata=res://*/TerminalDataEntities.csdl|res://*/TerminalDataEntities.ssdl|res://*/TerminalDataEntities.msl;

プロバイダー:

provider=System.Data.SqlClient;

プロバイダー接続文字列:

provider connection string=&quot;Data Source=URIEL\SQLIT64;Initial Catalog=IFDB;Trusted_Connection=True;MultipleActiveResultSets=True&quot;

すべてをまとめる: (Windows ID を使用)

<add name="DbTerminalContext" connectionString="metadata=res://*/TerminalDataEntities.csdl|res://*/TerminalDataEntities.ssdl|res://*/TerminalDataEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=URIEL\SQLIT64;Initial Catalog=IFDB;Trusted_Connection=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

(Windows ID なし)

<add name="DbTerminalContext" connectionString="metadata=res://*/TerminalDataEntities.csdl|res://*/TerminalDataEntities.ssdl|res://*/TerminalDataEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=URIEL\SQLIT64;Initial Catalog=IFDB;User Id=sa;Password=password;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

これがうまくいくことを願っています。

于 2012-11-27T00:57:11.973 に答える