2014-01-20 50 views
0

任何人都可以请帮我解决这个问题,即使在我的程序中删除@ localhost之前我无法运行它...这次它给我的错误为.. “Exception in线程 “主要” 值java.sql.SQLException:IO异常:网络适配器无法建立连接在线程主例外:IO异常

import java.sql.*; 

class CreatingTable{ 
    public static void main(String[] ar) throws Exception { 
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
    Connection con = DriverManager.getConnection("jdbc:oracle:thin:localhost:1521:xe","priyanka","java"); 
    Statement stmt=con.createStatement(); 
    int students=stmt.executeUpdate("create table class(name varchar2(20),rollno number(20)"); 
    con.close(); 
    } 
} 
+2

你为什么删除它?它是[连接字符串语法](http://www.orafaq.com/wiki/JDBC)的一部分... – A4L

+1

您正在使用哪个操作系统? –

+0

它的Windows Vista – user3203749

回答

0

RUN in Windows

打开的窗口服务

Services in Windows

搜索OracleServiceXEoraclexetnslistener服务和启动服务

和尝试这个例子

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.sql.Statement; 

public class Main { 
    public static void main(String args[]) { 
     try { 
      Class.forName("oracle.jdbc.driver.OracleDriver"); 
      String url = "jdbc:oracle:thin:@localhost:1521:XE"; 
      String userName = "suru"; 
      String password = "password"; 
      Connection con = DriverManager.getConnection(url, userName, password); 
      System.out.println("Connection success!"); 
      Statement stmt = con.createStatement(); 
      String sql = "CREATE TABLE EMP (ID NUMBER(5) PRIMARY KEY, NAME VARCHAR2(50))"; 
      stmt.execute(sql); 
      System.out.println("Table created successfully!"); 
      stmt.close(); 
      con.close(); 
     } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

谢谢你的回答苏鲁,仍然得到了同样的错误 – user3203749

+0

java.sql.SQLException:Io异常:网络适配器无法建立连接....即使在尝试与您的程序得到这个错误 – user3203749

+0

当我试图启动ORACLEXETNSListener服务时,它自动停止 – user3203749

0

您的代码似乎是不会有问题的。 问题可能来自本地方的Oracle XE。

错误消息表示oracle XE不接受连接。

相关问题