0
我想通過Java和Tomcat使用Oracle數據庫。 問題是我無法通過連接池和「server.xml」文件中的聲明來配置正確的連接。 所以,當我在一個Java類中使用此代碼:如何通過Java和Tomcat創建Oracle數據庫連接?
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:my","system","****");
String sql = "SELECT * FROM TestTable2";
PreparedStatement pStatement =con.prepareStatement(sql);
ResultSet rs = pStatement.executeQuery(sql);
,一切工作正常。 但是,當我在一個Java類中使用此代碼:
Context initContext = new
InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource datasource = (DataSource)envContext.lookup("jdbc/LocalMyDataBaseOracle");
Connection sqlCon = datasource.getConnection();
String sql = "SELECT * FROM TestTable2";
PreparedStatement pStatement =sqlCon.prepareStatement(sql);
ResultSet rs = pStatement.executeQuery(sql);
這段代碼在
<ResourceLink type="oracle.jdbc.pool.OracleDataSource"
name="jdbc/LocalMyDataBaseOracle"
global="jdbc/MyDataBaseOracle"
/>
這個代碼
<Resource driverClassName="oracle.jdbc.driver.OracleDriver"
factory="oracle.jdbc.pool.OracleDataSourceFactory"
name="jdbc/MyDataBaseOracle"
username="system"
password="****"
type="oracle.jdbc.pool.OracleDataSource"
url="jdbc:oracle:thin:@localhost:1521:my"
autoReconnectForConnectionPools="true"
autoReconnectForPools="true"
testOnBorrow="true"
testWhileIdle="true"
validationQuery="select 1 from dual"
validationInterval="34"
/>
我得到一個異常「值java.sql.SQLException :ORA-01017:invalid username/password; logon denied「in line Connection sqlCon = datasource.getConnection();
用戶名和密碼在第一和第二代碼中相同。請告知發生了什麼問題?
1)密碼只有英文字母和數字。 2)我無法建立連接時只使用SYSTEM,然後我會改變它。 –