C# 使用实体框架连接到Oracle数据库

C# 使用实体框架连接到Oracle数据库,c#,oracle,entity-framework,C#,Oracle,Entity Framework,我正在进行POC,我希望我的项目使用EF 6连接到Oracle数据库。这是我提到的 我正在使用ODP.NET托管驱动程序(从我的项目中引用了Oracle.ManagedDataAccess&Oracle.ManagedDataAccess.EntityFrameworkDLL) 下载并安装EF 6 问题: 当我尝试添加VS2017的新连接“服务器资源管理器”时,我得到一个错误 ORA-12514:TNS:侦听器当前不知道连接描述符中请求的服务 我不知道为什么会出现这个错误,因为我没有使用TNS。

我正在进行POC,我希望我的项目使用EF 6连接到Oracle数据库。这是我提到的

我正在使用ODP.NET托管驱动程序(从我的项目中引用了
Oracle.ManagedDataAccess
&
Oracle.ManagedDataAccess.EntityFramework
DLL)

下载并安装EF 6

问题:
当我尝试添加VS2017的新连接“服务器资源管理器”时,我得到一个错误

ORA-12514:TNS:侦听器当前不知道连接描述符中请求的服务

我不知道为什么会出现这个错误,因为我没有使用TNS。我正在使用EZConnect(见图)

  • 操作系统:Windows7
  • .Net框架:4.6.2
  • Visual Studio 2017
有什么想法吗?我错过了什么


您能否在ORacle中尝试以下操作:

select value from v$parameter where name='service_names'
然后需要验证
服务名称在
tnsnames.ora
中是否有效

在windows 7中,tnsnames.ora位于以下位置:


%ORACLE\u HOME%\NETWORK\ADMIN\tnsnames.ora

好的,所以我执行了这个查询&我得到的服务名称与图像中指定的服务名称不同,图像是
ORCL
。我把它换了,这样就行了。根据此
tnsnames.ora
是不必要的。