2014-03-31 45 views
-4
package jdbcconnection; 

import java.sql.*; 

public class Jdbc2{ 

    public static void main(String[] args) throws Throwable { 

     //Resgister the driver through 

     Class.forName("oracle.jdbc.driver.OracleDriver"); 
     System.out.println("registered driver successfully"); 
     //Create the connection and assign to connection reference 
     Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:CUSTDB", "scott", "tiger"); 
     System.out.println("connection successsfully"); 
     //create a statement through connection reference and assign to statement reference 
     Statement stmt=con.createStatement(); 
     System.out.println("statement object created successfully"); 
     //call the executequery method through statement reference and pass the query as argument. 
     ResultSet rs=stmt.executeQuery("select * from emp"); 

     System.out.println("query is executed"); 

     while(rs.next()){ 
      int i=rs.getInt(1); 
      String str=rs.getString(2); 
      String str1=rs.getString(3); 
      int i1=rs.getInt(4); 
      System.out.println(i+"\t"+str+"\t"+str1+"\t"+i1);  
     } 
    } 
} 

error--值java.sql.SQLException:IO异常:端口号数字格式无效

Exception in thread "main" java.sql.SQLException: Io exception: Invalid number format for port number 
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) 
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) 
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255) 
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387) 
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:439) 
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165) 
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35) 
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at jdbcconnection.Jdbc2.main(Jdbc2.java:13) 
+1

我们很乐意提供帮助,但您需要在此格式化问题。只是复制粘贴代码不会得到任何答案,只是被遗忘投票。我们不知道问题是什么(什么是中断)或任何有关问题的信息。我们有代码,一些文本错误,没有别的可以继续。在尝试帮助/解决这个问题之前,大多数人都需要更多的东西......不管它是什么。 – Walls

回答

0

它在堆栈跟踪:“为端口号,号码格式无效” 你应该把一个有效的端口号而不是CUSTDB

1

您的URL不正确。

它应该是

getConnection("jdbc:oracle:thin:@localhost:portnum:CUSTDB", "scott", "tiger"); 

实施例:

"jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger" 

其中XE是数据库名称。

希望这会有所帮助。

0
while(rs.next()){ 
      int i=rs.getInt(1); 
      String str=rs.getString(2); 
      String str1=rs.getString(3); 
      int i1=rs.getInt(4); 
      System.out.println(i+"\t"+str+"\t"+str1+"\t"+i1); 

这是不正确的!您需要使用字段名称来获取值,而不是像1,2,3等数字。是的,请检查您的端口号以避开端口异常! 检查JDBC上的演示:http://www.tutorialspoint.com/jdbc/jdbc-sample-code.htm

是的,请更多关于您的工作信息,并构建一个适当的问题,而不是只发布错误堆栈!

+0

这是完全有效的。 http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getString(int) – latj