我只是想了解數據庫連接如何通過數據源工作。爲什麼我們需要在數據源中提供密碼?
當我們設置數據源時,我們需要提供用戶名/密碼。但是,如果您想通過數據源檢索連接,我們仍然提供另一個用戶名/密碼。
datasource.getConnection(username,password)
VS
datasource.getConnection();
我們爲什麼這樣做?這是多餘的嗎?
我希望有人能幫我澄清一下。
我只是想了解數據庫連接如何通過數據源工作。爲什麼我們需要在數據源中提供密碼?
當我們設置數據源時,我們需要提供用戶名/密碼。但是,如果您想通過數據源檢索連接,我們仍然提供另一個用戶名/密碼。
datasource.getConnection(username,password)
VS
datasource.getConnection();
我們爲什麼這樣做?這是多餘的嗎?
我希望有人能幫我澄清一下。
我不這麼認爲: 這是代碼獲得通過數據源的連接:
try {
Context initialContext = new InitialContext();
DataSource datasource = (DataSource)initialContext.lookup(DATASOURCE_CONTEXT);
Connection con = datasource.getConnection();
}catch(Exception e) {}
現在這裏獲取連接時我沒有提供的uname/PASSW,因爲他們在已經指定mysql-ds.xml [my environ jboss,mysql]。
沒有JNDI:
oracle.jdbc.pool.OracleDataSource ds = new oracle.jdbc.pool.OracleDataSource();
ds.setDriverType("thin");
ds.setServerName("localhost");
ds.setPortNumber(1521);
ds.setDatabaseName("XE"); // Oracle SID
Connection con = ds.getConnection(user, password);
請讓我知道,如果這有助於。
謝謝你的幫助。這個api如何:datasource.getConnection(用戶名,密碼) – user1756744
如果你不使用JNDI,那麼你可以使用datasource.getConnection(username,password);我在我的答案中添加了一個例子。 – Satya
在多用戶系統中,可能使用一個id/pwd部署數據源,並且使用相同的部署數據源通過不同用戶(不同用戶標識/ pwd)獲取連接。
爲你的問題考慮更好的標籤,它的措辭是非常通用的,沒有人可以猜測你在說什麼語言和庫。 – lanzz