我已经安装在远程服务器上的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使用过吗?
答案 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配置设置。