我正在使用这个连接字符串的帮助。 首先介绍一下:我用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="DATA SOURCE=EF1DEV.TEST.SERVER;PASSWORD=hr;USER ID=HR"" providerName="System.Data.EntityClient" />
问题是当我尝试在代码中实际使用我的模型时。像这样:
using(Test_Entities testEnt = new Test_Entities())
{
}
我收到一个异常,说[System.ArgumentException] =“在配置中找不到指定的商店提供商,或者无效。”
内部异常表示InnerException =“无法找到请求的.Net Framework数据提供程序。可能无法安装。”
有关哪些错误的想法?
答案 0 :(得分:2)
要将Oracle用作提供程序,您需要下载并添加oracle ODAC package
您可能需要查看位于Building .NET Applications Using Oracle Developer Tools for Visual Studio 的教程,该教程将指导您完成所需的步骤。
基本上步骤是: