我只是想了解数据库连接如何通过数据源工作。为什么我们需要在数据源中提供密码?
当我们设置数据源时,我们需要提供用户名/密码。但是,如果您想通过数据源检索连接,我们仍然提供另一个用户名/密码。
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