刚解决完上一个问题之后,又出现一个新的问题,人生总有太多的不如意啊。先让我们看看问题吧
1、问题1
我们一定不要被它的样子给吓到,仔细阅读我们就会发现,其实它就是没有连上数据库,呵呵,够简单吧,那么让我们来看看它到底是哪里出问题了。
2、开始解决
我们遇到问题后,肯定是要上网找的,因为70%的问题在网上都有答案,如果没有,那就太好了,你懂的。
1。IP错误。
在设置URL时错误,例如:jdbc:oracle:thin:@192.168.0.36:1521:sharp 数据库服务器不正确:ping 服务器IP是否正确。不正确,将URL更改为正确 端口号错误:一般不会错误。 进行一下操作:在DOS上键入sqlplus,检查oracle是否开启 一却正常,执行下面第2步。
2。防火墙 如果机器上安装有放火墙,可能是服务器端口号屏蔽而造成的。关闭防火墙后,尝试重新连接。 仍然不行,执行第3步。
3。数据库监听未启动 修改PC上注册表中的ImagePath值。 我下面以现在主流的数据库ORACLE为例 重新手动启动数据库监听
3、尝试
有了方向,于是我开始修改,刚开始我是这样写的
String url="jdbc:oracle:thin:@localhost:1521:drp";
我想可能是localhost的问题,于是我改成自己的IP地址
String url="jdbc:oracle:thin:@192.168.24.169:1521:drp";
当然这样是不行的,因为我的Oracle没有装在自己电脑上,于是改成服务器的IP
String url="jdbc:oracle:thin:@192.168.26.206:1521:drp";
可是这样还是不行,于是我用ping命令试了一下,服务器居然ping不通,难道是这个原因?于是我又上网找了一下,得到了以下信息。
刚才查看Oracle有没有监听, 发现了状况 cmd –>netstat -an 如下图
往下看,127.0.0.1
没有1521。
应该是这个样子的。
于是乎我猜想,是不是端口号错了,于是我也查了一下
看来我又猜错了,我忽然发现,报出的错误改变了。
4、答案浮出水面
错误的提示信息如下
也就是说找不到SID,那么SID是什么东东呢,这个SID应该是你的数据库名,可是我的数据库就叫drp,这是什么原因呢,于是又上网查了一下。
在这里就不给大家全部展示了,它的主要原因是在Oracle的 listener.ora 文件中配置SID,代码如下
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /app/oracle/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = /app/oracle/oracle/product/10.2.0/db_1)
(SID_NAME = ORCL)
)
)
于是将自己的url改为下面这样,成功
String url="jdbc:oracle:thin:@192.168.26.206:1521:ORCL";
5、总结
总之,MyEclipse连接Oracle失败的原因主要是IP,端口号,SID等,要不就是你的环境配置的有问题,在此,我想说,我们遇到问题时不要慌张,沉着冷静,相信自己肯定能够解决,然后我们通过自己的不懈努力,一定可以做到。方法永远比问题要多的多。