我想测试与数据库的连接是否成功,编译是没有错误的,运行时连接不成功的,该如何去做? 错误原因如下:
java.sql.SQLException:IO异常:the Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException<DatabaseError.java:111>
at oracle.jdbc.driver.DatabaseError.throwSqlException<DatabaseError.java:145>
at oracle.jdbc.driver.DatabaseError.throwSqlException<DatabaseError.java:254>
at oracle.jdbc.driver.T4CConnection.logon<T4CConnection.java:386>
at oracle.jdbc.driver.T4CDriverExtension.getConnection<T4CDriverExtension.java:34>
at oracle.jdbc.driver.OracleDriver.connect<OracleDriver.java:752>
at java.sql.DriverManager.getConnection<DriverManager.java:582>
at java.sql.DriverManager.getConnection<DriverManager.java:185>
代码如下:
import java.sql.*;
public class linkOracle
{
public static void main(String[] args)
{
Connection con=null;
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="system";
String password="qq";
try
{

Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection(url,user,password);
Statement stat=con.createStatement();
ResultSet rs=stat.executeQuery("SELECT * FROM music");
while(rs.next())
{
String mid=rs.getString(1);
String mname=rs.getString(2);
String mcountry=rs.getString(3);
System.out.println(mid+"\t\t"+mname+"\t\t"+mcountry);
}
rs.close();
stat.close();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}
望高手给些指点,是不是哪处的设置有问题,不胜感激!!!

解决方案 »

  1.   

    确定sid是orcl,确定服务里面启动了TNSListener和Oracl....ORCL两个服务
      

  2.   

    确定你服务器的Listener启动,如果是Oracle确定防火墙关闭,
      

  3.   

    就是oracle服务没有启动的问题
      

  4.   

    异常:the Network Adapter could not establish the connection  可能是杀毒软件、防火墙阻止了,你看看。
    或者你看看你的数据库问题。
      

  5.   

    确定服务里面启动了TNSListener和Oracl....ORCL两个服务
      

  6.   

    你可以先用PL/SQL 或者SQLPLUS看看数据库是否可以正常连接,然后在测试JAVA跟数据库之间的连接。
    就楼主你的问题 感觉PL/SQL都不会连上去的,更表说JAVA连接了。