愚蠢的问题:
我已经成功在我的Linux机器上安装了Oracle 11g。
我可以连接到它并检索国家表通过C#/单声道就好了,下面的连接string,它使用默认安装(+新密码+解锁)后的HR帐户“原样”。
string strConnectionString = "User Id=HR;Password=myPassword;Data Source=(DESCRIPTION=" + "(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))" + "(CONNECT_DATA=(SID=orcl)));";
当我从同一台计算机使用机器名称或从路由器(而不是本地主机)获得的IP连接时,它不起作用。 防火墙是closures的。
string strConnectionString = "User Id=HR;Password=myPassword;Data Source=(DESCRIPTION=" + "(ADDRESS=(PROTOCOL=TCP)(HOST=machine-name-or-IP)(PORT=1521))" + "(CONNECT_DATA=(SID=orcl)));";
我假设我必须允许远程连接,并允许从任何计算机login人力资源帐户。
但是如何和在哪里?
也许configuration数据库来侦听正确的IP。
我怎样才能做到这一点 ? 哪里?
我google了,但到目前为止我没有find有用的东西…
请注意,通过“远程连接”,我的意思是192.168.*.*
监听器是否在外部IP上侦听? 如果侦听器只侦听127.0.0.1的端口1521,或者它也侦听192.168 ….你可以用netstat -an来检查。
远程login默认为开启。 如果你创build一个新的用户,用户需要angular色资源和连接才能连接到数据库,并创build表和其他东西。
你不应该检查路由器。 问题是本地计算机知道的IP或帽子名称可以解决。 一个简单的ping和nslookup应该指向正确的方向。 如果可行,请检查tnsping。