Spring 无法获取JDBC连接;嵌套异常是java.sql.SQLException:JZ002:Password属性'';太长了。最大长度为30

Spring 无法获取JDBC连接;嵌套异常是java.sql.SQLException:JZ002:Password属性'';太长了。最大长度为30,spring,spring-jdbc,Spring,Spring Jdbc,使用JDBCtemplate创建连接时出现以下错误 org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: JZ002: Password property '' too long. Maximum length is 30. Caused by: java.sql.SQLExceptio

使用JDBCtemplate创建连接时出现以下错误

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: JZ002: Password property '' too long. Maximum length is 30.
Caused by: java.sql.SQLException: JZ002: Password property '' too long. Maximum length is 30.
    at com.sybase.jdbc3.jdbc.ErrorMessage.raiseError(ErrorMessage.java:559)
    at com.sybase.jdbc3.tds.LoginToken.<init>(LoginToken.java:161)
    at com.sybase.jdbc3.tds.Tds.doLogin(Tds.java:542)
    at com.sybase.jdbc3.tds.Tds.login(Tds.java:484)
    at com.sybase.jdbc3.jdbc.SybConnection.tryLogin(SybConnection.java:247)
    at com.sybase.jdbc3.jdbc.SybConnection.regularConnect(SybConnection.java:223)
    at com.sybase.jdbc3.jdbc.SybConnection.<init>(SybConnection.java:198)
    at com.sybase.jdbc3.jdbc.SybConnection.<init>(SybConnection.java:132)
    at com.sybase.jdbc3.jdbc.SybDriver.connect(SybDriver.java:179)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:208)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:291)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:277)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:259)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:240)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:328)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:404)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:412)
    at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:420)
    at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:425)
    at org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:434)
org.springframework.jdbc.CannotGetJdbcConnectionException:无法获取jdbc连接;嵌套异常为java.sql.SQLException:JZ002:密码属性“”太长。最大长度为30。
原因:java.sql.SQLException:JZ002:密码属性“”太长。最大长度为30。
位于com.sybase.jdbc3.jdbc.ErrorMessage.raiseError(ErrorMessage.java:559)
位于com.sybase.jdbc3.tds.LoginToken。(LoginToken.java:161)
位于com.sybase.jdbc3.tds.tds.doLogin(tds.java:542)
登录com.sybase.jdbc3.tds.tds.login(tds.java:484)
位于com.sybase.jdbc3.jdbc.SybConnection.tryLogin(SybConnection.java:247)
位于com.sybase.jdbc3.jdbc.SybConnection.regularConnect(SybConnection.java:223)
位于com.sybase.jdbc3.jdbc.SybConnection。(SybConnection.java:198)
位于com.sybase.jdbc3.jdbc.SybConnection。(SybConnection.java:132)
位于com.sybase.jdbc3.jdbc.SybDriver.connect(SybDriver.java:179)
位于java.sql.DriverManager.getConnection(DriverManager.java:664)
位于java.sql.DriverManager.getConnection(DriverManager.java:208)
位于org.springframework.jdbc.datasource.DriverManager数据源.getConnectionFromDriverManager(DriverManager数据源.java:291)
位于org.springframework.jdbc.datasource.DriverManager数据源.getConnectionFromDriverManager(DriverManager数据源.java:277)
位于org.springframework.jdbc.datasource.DriverManager数据源.getConnectionFromDriverManager(DriverManager数据源.java:259)
位于org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:240)
位于org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
位于org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
位于org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:328)
位于org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:404)
位于org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:412)
位于org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:420)
位于org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:425)
位于org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:434)
我的spring.xml文件

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
        <property name="driverClassName" value="${driver}" />
        <property name="url" value="${url}" />
        <property name="username" value="${userName}" />
        <property name="password" value="${passwd}" />
    </bean>


我无法更改密码,因为这是UAT环境。有人能在这里提出解决办法吗。我使用sybase作为数据库

这是sybase的限制-密码不能超过30个字符。 如果您尝试使用更长的密码,它将缩短到前30个字符。
见:

如果密码是外部创建的,那么我想你也可以做同样的事情,将长度削减到30