实体框架Oracle连接字符串

时间:2014-04-07 18:07:40

标签: c# visual-studio-2010 oracle entity-framework

我正在使用这个连接字符串的帮助。 首先介绍一下:我用XE版本的Oracle设置了另一台PC。此PC连接到集线器,我的PC也连接到集线器。我还将这台PC添加到我的计算机tnsnames.ora文件中,对于Oracle,条目看起来像这样......

EF1DEV.TEST.SERVER =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = testcomputername.my.test.dom)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = xe)
    )
  )
然后我进入visual studio 2010并使用TNS和我添加的tnsnames条目从现有数据库生成模型(.edmx),并且它工作正常。连接字符串是在项目的app.config文件中生成的,它看起来像这样。

<add name="Test_Entities" connectionString="metadata=res://*/TestDatabase.csdl|res://*/TestDatabase.ssdl|res://*/TestDatabase.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string=&quot;DATA SOURCE=EF1DEV.TEST.SERVER;PASSWORD=hr;USER ID=HR&quot;" providerName="System.Data.EntityClient" />

问题是当我尝试在代码中实际使用我的模型时。像这样:

using(Test_Entities testEnt = new Test_Entities())
{
}

我收到一个异常,说[System.ArgumentException] =“在配置中找不到指定的商店提供商,或者无效。”

内部异常表示InnerException =“无法找到请求的.Net Framework数据提供程序。可能无法安装。”

有关哪些错误的想法?

1 个答案:

答案 0 :(得分:2)

要将Oracle用作提供程序,您需要下载并添加oracle ODAC package

您可能需要查看位于Building .NET Applications Using Oracle Developer Tools for Visual Studio 的教程,该教程将指导您完成所需的步骤。

基本上步骤是:

  • 下载并安装ODAC。
  • 将Oracle.DataAccess和Oracle.ManagedDataAccess引用添加到项目中