加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

实体框架 – 实体框架4.3到Oracle:Web项目有效,NUnit没有

发布时间:2021-01-15 08:43:04 所属栏目:站长百科 来源:网络整理
导读:我使用DevArt的提供程序针对Oracle数据库设置了Entity Framework 4.3.我通过NUnit 2.6测试运行器中的单元测试项目连接到数据库时遇到问题.有趣的是,我有一个ASP.NET MVC 3项目连接到它就好了.我在我的类库单元测试项目中创建了一个App.config,并将实体连接字

我使用DevArt的提供程序针对Oracle数据库设置了Entity Framework 4.3.我通过NUnit 2.6测试运行器中的单元测试项目连接到数据库时遇到问题.有趣的是,我有一个ASP.NET MVC 3项目连接到它就好了.我在我的类库单元测试项目中创建了一个App.config,并将实体连接字符串信息复制到它.我错过了什么?

这是实体连接信息(在Web.config和App.config中相同):

<connectionStrings>
    <add name="Entities" connectionString="metadata=res://*/Entities.MagellanDataModel.csdl|res://*/Entities.MagellanDataModel.ssdl|res://*/Entities.MagellanDataModel.msl;provider=Devart.Data.Oracle;provider connection string=&quot;User Id=theusername;Password=thepassword;Server=theTNSname&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

这是异常信息:

AppName.Tests.AccountRepositoryTests.GetByContactId:
System.Data.EntityException : The underlying provider failed on Open.
----> System.InvalidOperationException : Can not obtain Oracle client information
      from registry. Make sure that Oracle Client Software is installed,or use 
      Direct mode of connecting to server.

注意:Web和单元测试程序集都设置为编译到任何CPU.我在64位Windows 7上运行32位Oracle 10g数据库.我发现一个帖子似乎表明它与需要x86的平台相关,但是我的web项目设置为Any CPU并且工作正常.

解决方法

我有一个类似的问题:Win7 64位DevArt与32位Oracle.

适用于Web项目的任何CPU,但对于控制台和单元测试项目都失败.我通过在调试模式下为测试和控制台项目设置x86来修复它(或解决它).

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读