2015-04-27 2 views
0

Я пытаюсь запустить простую программу Java, которая извлекает данные из базы данных oracle и отображает ее. Я подключил базу данных оракула. Вот мой код:Обработка SQLException

DataHandler Класс:

import java.sql.Connection; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.sql.ResultSet; 
import oracle.jdbc.pool.OracleDataSource; 

public class DataHandler { 
    public DataHandler() { 
     super(); 
    } 
    String jdbcUrl = "jdbc:oracle:thin:@localhost:1521:ORCL"; 
    //I already added the above line but still getting error. 
    String userid = "scott"; 
    String password = "tiger"; 
    Connection conn; 

    public void getDBConnection() throws SQLException{ 
     OracleDataSource ds; 
     ds = new OracleDataSource(); 
     ds.setUser(jdbcUrl); 
     conn = ds.getConnection(userid,password); 
    } 

    Statement stmt; 
    ResultSet rset; 
    String query; 
    String sqlString; 

    public ResultSet getAllEmployees() throws SQLException{ 
     getDBConnection(); 
     stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); 
     query = "SELECT * FROM emp ORDER BY empno"; 
     System.out.println("\nExecuting query: " + query); 
     rset = stmt.executeQuery(query); 
     return rset; 
    } 
} 

и JavaClient класс, как JavaCLient КЛАСС:

import java.sql.ResultSet; 
public class JavaClient { 
    public JavaClient() { 
     super(); 
    } 
    public static void main(String[] args) throws Exception{ 
     DataHandler datahandler = new DataHandler(); 
     ResultSet rset = datahandler.getAllEmployees(); 

     while (rset.next()) { 
     System.out.println(rset.getInt(1) + " " + 
      rset.getString(2) + " " + 
      rset.getString(3) + " " + 
      rset.getString(4)); 
     } 
    } 
} 

я не получаю ошибки компиляции, но при запуске его я получаю следующее сообщение об ошибке исключения

Ошибка:

Exception in thread "main" java.sql.SQLException: Invalid Oracle URL specified: OracleDataSource.makeURL 
at oracle.jdbc.pool.OracleDataSource.makeURL(OracleDataSource.java:1277) 
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:185) 
at student_attendence_iem.DataHandler.getDBConnection(DataHandler.java:22) 
at student_attendence_iem.DataHandler.getAllEmployees(DataHandler.java:31) 
at student_attendence_iem.JavaClient.main(JavaClient.java:9) 

Процесс выхода с кодом выхода 1.

Пожалуйста, помогите мне. Заранее спасибо. :)

+0

возможно дубликат [URL Invalid Oracle указанный: OracleDataSource.makeURL] (http://stackoverflow.com/ вопросы/1332869/invalid-oracle-url-defined-oracledatasource-makeurl) –

+0

Я сделал то же самое, но все равно получаю ту же ошибку. –

ответ

1

Вы не установили URL своей базы данных.
Добавьте метод setURL (url), который берет URL-адрес базы данных в качестве параметра. Ниже приведен код.

OracleDataSource ds; 
    ds = new OracleDataSource(); 
    ds.setURL(jdbcUrl); 

Кроме того, с ds.setUser(jdbcUrl); вы пытаетесь SETUSER с URL базы данных что неправильно.
Вы не должны SETUSER так, как вы уже делаете, что в следующей строке кода
conn = ds.getConnection(userid,password);

+0

Спасибо вам большое, сэр. Я получил свою ошибку. –

+1

@ Супарано Приправа по коррекции, она мэм;) –

Смежные вопросы