Brak połączenia SQL Developer z Eclipse

0

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:

title

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?

1
  1. wiesz po co jest sysdba? Nie wiesz więc po co nadajesz mu takie uprawnienia?
  2. oczywiście czytałeś dokumentację i wiesz jak się connection string tworzy https://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html
0

OK, temat do zamknięcia. Uprawnienie SYSDBA niepotrzebnie namieszało.

1 użytkowników online, w tym zalogowanych: 0, gości: 1