我安装了ORACLE 10G 数据库,安装应该没有问题,数据库也创建了。在SQL plus操作界面下,创建了表。但运行JAVA程序连接数据库时,发生如下错误:访问数据库错误!java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection。我网上查了下说有3种可能:
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为例
重新手动启动数据库监听:
1:开始 → 运行→ 输入CMD→ 进入DOS命令提示界面
d:>lsnrctl
LSNRCTL> status
或者
LSNRCTL> start
!!!我也试过了,还是没用!!!!!
希望哪位高手能帮我解决下啊~~~~~~~~~谢谢啦!!!!!!!!
急啊,毕业设计要用的!!!
以下是程序:
import java.sql.*;
public class OracleDemo {
public static void main(String[] args){
Connection conn;
Statement stmt;
ResultSet rs;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException e){
System.out.println("加载驱动程序错误!"+e);
}
try{
String url="jdbc:oracle:thin:@localhost:1521:oracl";//1521为Oracle提供服务的端口
String user="system";//默认用户名
String password="iop";
conn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();//发送SQL语句
rs=stmt.executeQuery("SELECT * FROM account order by account_id");//处理查询结果
while(rs.next())//循环输出结果集的每一行
{
System.out.print(rs.getString(1)+" ");
System.out.print(rs.getString(2)+" ");
System.out.print(rs.getString(3)+" ");
System.out.println(rs.getString(4));
}
rs.close();//关闭 ResultSet
stmt.close();//关闭 Statement
conn.close();//关闭Connection
}
catch(SQLException e)
{
System.out.println("访问数据库错误!"+e);
}
}
}
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为例
重新手动启动数据库监听:
1:开始 → 运行→ 输入CMD→ 进入DOS命令提示界面
d:>lsnrctl
LSNRCTL> status
或者
LSNRCTL> start
!!!我也试过了,还是没用!!!!!
希望哪位高手能帮我解决下啊~~~~~~~~~谢谢啦!!!!!!!!
急啊,毕业设计要用的!!!
以下是程序:
import java.sql.*;
public class OracleDemo {
public static void main(String[] args){
Connection conn;
Statement stmt;
ResultSet rs;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException e){
System.out.println("加载驱动程序错误!"+e);
}
try{
String url="jdbc:oracle:thin:@localhost:1521:oracl";//1521为Oracle提供服务的端口
String user="system";//默认用户名
String password="iop";
conn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();//发送SQL语句
rs=stmt.executeQuery("SELECT * FROM account order by account_id");//处理查询结果
while(rs.next())//循环输出结果集的每一行
{
System.out.print(rs.getString(1)+" ");
System.out.print(rs.getString(2)+" ");
System.out.print(rs.getString(3)+" ");
System.out.println(rs.getString(4));
}
rs.close();//关闭 ResultSet
stmt.close();//关闭 Statement
conn.close();//关闭Connection
}
catch(SQLException e)
{
System.out.println("访问数据库错误!"+e);
}
}
}
string url="jdbc:oracle:thin:@localhost:1521:oracl";//1521为Oracle提供服务的端口楼主把localhost换成你的ip地址试一下
http://topic.csdn.net/u/20070521/14/f109a285-64b1-4196-83ca-e73e63297422.html
应该是这个问题;
修改下那个连接语句为:
jdbc:oracle:thin:@localhost:1521:oracl,用户名,密码;
以上是错误信息。我ojdbc14.jar和CLASSES12。JAR 都试了,没用。是不是我的驱动放错地方了。我的驱动是放在‘C:\Program Files\Java\jre6\lib\ext’的我是把默认的实例数据库名‘orcl’改成了‘oracl’把localhost改成我的IP地址还是出现同样的错误提示!
刚才看了xiaoheixiaobai 给我的帖子http://topic.csdn.net/u/20070521/14/f109a285-64b1-4196-83ca-e73e63297422.html 发现大概是10g 的IP地址好像只能用192开头的,改了下酒运行成功了!!!!
再次谢谢大家的帮忙!!!!!!帮助了我这个Oracle小白!!!
谢谢!!!!