spring版本4.3.2,配置DataSource连接Oracle时出现一个奇怪的现象,用下面的配置方法可以直接连接数据库,对数据库进行操作,说明这些属性值没有问题。
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@192.168.32.128:1521:XXXX" />
<property name="username" value="scott" />
<property name="password" value="123456" />
</bean>
================================================================================================
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${driverClassName}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</bean>
<property name="driverClassName" value="${driverClassName}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</bean>
=================================================================================================
jdbc.properties文件如下
driverClassName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@192.168.32.128:1521:XXXX
username=scott
password=123456
url=jdbc:oracle:thin:@192.168.32.128:1521:XXXX
username=scott
password=123456
=================================================================================================
报错信息
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied
)
================================我是分割线,开启苦逼找碴模式==========================================
================================宝宝心里苦,但是宝宝不说==============================================
最后发现了,因为自己想偷下懒,想少敲几个字母的缘故。
在jdbc.properties中username一定不要写成username,写成jdbc.username或者username1都行,总之要和username区分开,然后就可以愉快地连接数据库了。
password可以是password,但username不能是username。