Oracle:无法从实体框架连接

时间:2012-07-10 10:09:45

标签: c# .net oracle entity-framework

我已经安装在远程服务器上的oracle服务器。

我安装了oracle最新的提供程序,在visual studio中使用它们与实体框架。

但是当我尝试连接到服务器时,我遇到了这个例外:

ORA-12560:TNS:协议适配器错误。

我是oracle世界的新手,我找不到问题甚至是如何调试它。

我看到听众已经上演了,我在1521端口做了lsnrctl status我的听众。

但是,我看到我有这样的安全性:“Security ON: Local OS Authentication”,但由于我在服务器和客户端之间没有普通用户,它是否会造成一些麻烦?

我的用户应该拥有一些特价权吗?在本地,我可以使用sqldeveloper工具连接自己。

非常感谢任何帮助

修改

更多信息: 服务器在Windows下运行,它启动了OracleXETNSListener服务。我忘了提,但服务器防火墙已关闭。

修改2

我尝试在我的工作站上下载oracle sql开发人员,并且我用完全相同的信息连接自己。(我刚看到,实际上sql开发人员使用“基础”连接而不是“TNS”,这似乎是EF使用过吗?

3 个答案:

答案 0 :(得分:1)

我最后使用了devart连接器:http://www.devart.com/dotconnect/oracle/

它直接在所有模式下工作(直接或正常)。如果我今天早上尝试过,我会减少时间。

答案 1 :(得分:0)

您是通过AD还是在机器上本地使用您的tns名称?如果它是本地的,那么您需要确保在默认位置的tns名称文件中列出了正确的连接描述符 - 这取决于Oracle版本。

围绕实体框架和连接到远程实例存在已知问题,但这些问题可以通过l

来解决

答案 2 :(得分:0)

使用Oracle Provider,您的连接字符串应如下所示:

  

数据源= {serverAddress} / xe;用户ID = {用户名} ;密码= {密码} ;

示例:

  

Data Source = localhost / xe; User Id = scott; Password = tiger

我建议您始终提及Oracle实例标识符(在Express Edition中总是 xe ),因此您不必依赖于您的tns配置设置。

相关问题