Cześć,
Walczę już drugą godzinę, by połączyć się z bazą ORACLE'a za pomocą Eclipse'a. Utworzyłem nowego usera o nazwie** syst z hasłem oracle**. Nadałem mu wszystkie uprawnienia + SYSDBA. W SQL Developer (wersja Oracle 12c) dodałem go jako nowe połączenie i nadałem mu takie parametry:
Tu jest OK. W Eclipse do projektu wrzuciłem ojdbc6.jar. Stworzyłem pakiet + jedną klasę, a w niej:
package tmp;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:hr:hr@//localhost/orcl","syst AS SYSDBA","oracle");
Statement stm = con.createStatement();
String query = "SELECT * FROM EMP";
ResultSet rs = stm.executeQuery(query);
while (rs.next()){
int id = rs.getInt("EMPID");
String name = rs.getString("EMPNAME");
System.out.println(id+ " "+ name);
}
}
}
Niestety dostaję błędy:
Exception in thread "main" java.sql.SQLException: ORA-01017: niepoprawna nazwa użytkownika/hasło; odmowa zalogowania
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:406)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:799)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:368)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
Co tu jest nie tak?