我有一个GWT应用程序,通过集成Jetty的SuperDevMode在本地计算机上运行。该应用程序工作正常,但我需要连接到Oracle数据库。 我做了以下操作:将GWT应用程序连接到Oracle DB带来'无效的用户名/密码;登录被拒绝' - 登录与QuantumDB一起使用?
public static Connection getConnection() throws ConfigurationException {
try {
if (conn == null) {
createConnection();
}
return conn;
} catch (SQLException e) {
System.out.println();
throw new ConfigurationException(e);
}
}
private static void createConnection() throws ConfigurationException, SQLException {
try {
String url = ConfigHelper.getJdbcUrl();
String user = ConfigHelper.getJdbcUser();
String password = ConfigHelper.getJdbcPassword();
String schema = ConfigHelper.getJdbcSchema();
String driverName = ConfigHelper.getJdbcDriver();
Driver driver = (Driver) Class.forName(driverName).newInstance();
DriverManager.registerDriver(driver);
conn = DriverManager.getConnection(url, user, password);
conn.setSchema(schema);
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
throw new ConfigurationException(e);
}
}
我尝试创建连接;我有一个帮助器类“ConfigHelper”,它读取一个包含所有信息的配置文件。 当我在DebugMode中启动应用程序时,我可以看到我从配置文件中获得了正确的值。 但是我得到这个堆栈跟踪:
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:382)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:600)
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:445)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:380)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:760)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:401)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at de.axa.schadenreserveOnline.server.db.DBHelper.createConnection(DBHelper.java:51)
at de.axa.schadenreserveOnline.server.db.DBHelper.getConnection(DBHelper.java:32)
... 73 more
奇怪的是,如果我使用QuantumDB Eclipse插件与来自我的配置相同的数据连接到同一个Oracle数据库文件,它的工作原理。
有什么我错过了创建连接? 我apreciate任何帮助提前
编辑 感谢: 使用ojdbc6 11.2.0.3 GWT 2.8.0