SSH: Access denied for user 'sa'@'localhost' (using password: NO)

时间:2022-11-23 19:55:11
第一次使用SSH,遇到了这个问题,困惑两天了。MySQL也重装了不止三次,用户名密码核对了N次,还是报错。郁闷啊!求教。
以下是applicationcontext.xml配置文件中的内容:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/yuxie</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>900307</value>
</property>
</bean>

报的错误是:
。。。。。。
三月 23, 2014 9:35:24 下午 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 1045, SQLState: 28000
三月 23, 2014 9:35:24 下午 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: Access denied for user 'sa'@'localhost' (using password: NO)
三月 23, 2014 9:35:24 下午 org.apache.struts2.dispatcher.Dispatcher error
严重: Exception occurred during processing request: JDBC exception on Hibernate data access: SQLException for SQL [n/a]; SQL state [28000]; error code [1045]; Could not open connection; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
org.springframework.orm.hibernate4.HibernateJdbcException: JDBC exception on Hibernate data access: SQLException for SQL [n/a]; SQL state [28000]; error code [1045]; Could not open connection; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
。。。。。
... 80 more
Caused by: java.sql.SQLException: Access denied for user 'sa'@'localhost' (using password: NO)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
。。。。。。
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:214)
... 102 more

9 个解决方案

#1


你用其他客户端,可以访问数据库么

#2


你clean一下项目,你的异常是说sa这个用户被拒绝访问。

#3


Access denied for user 'sa'@'localhost'   
不是同一个啊?


<property name="username">
<value>root</value>
</property>
<property name="password">
<value>900307</value>

#4


<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url"
value="jdbc:mysql://localhost:3306/mhtao">
</property>
<property name="username" value="root"></property>
<property name="password" value="mysql"></property>
</bean>

#5


1、看你的方言  对不对?
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
由以上这几种 不同的mysql版本 这个配置不一样 具体区别大家可以百度一下,还有如果报 sa@localost这样的错误,但是又没有sa这个账号,这是由于高版本进行集成的时候hibernate把配置给覆盖了 在spring中这么配置即可。
<property name="hibernateProperties">
<props>

<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.jdbc.batch_size">20</prop>
<prop key="hibernate.connection.autocommit">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">false</prop>
<prop key="hibernate.connection.useUnicode">true</prop>
<prop key="hibernate.connection.characterEncoding">UTF-8</prop>
<prop key="hibernate.cache.provider_configuration_file_resource_path">/ehcache.xml</prop>
<prop key="hibernate.hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory
</prop>
<prop key="hibernate.cache.use_query_cache">false</prop>
<prop key="hibernate.connection.username">root</prop>
<prop key="hibernate.connection.password">uroot</prop>
<prop key="hibernate.connection.url">${db.url}</prop>

</props>
</property>

等于就是重新再次配置一遍 hibernate的配置,或者在hibernate.xml中配置一遍 username password url都可以 我还是建议在spring中进行配置 因为可以统一用一个配置文件来进行管理。

#6


SSH: Access denied for user 'sa'@'localhost' (using password: NO)
怎么一个SqlServer 一个mysql啊。。。这报错报得不专业啊。。。。

#7


Hibernate4+Spring在dataSource中配置连接信息无效,需要在sessionFactory中为hibernateProperties属性配置props。
参考:http://19841026.iteye.com/blog/2160555

#8


你检查下你的 程序里 怎么出现了 sa 用户,sa是sqlserver的 。
看你的配置文件里 只有root用户。 
看的出来你的sa用户的访问权限没开通,要去查询分析器 设置西

#9


明显是数据库的链接方式不对。

#1


你用其他客户端,可以访问数据库么

#2


你clean一下项目,你的异常是说sa这个用户被拒绝访问。

#3


Access denied for user 'sa'@'localhost'   
不是同一个啊?


<property name="username">
<value>root</value>
</property>
<property name="password">
<value>900307</value>

#4


<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url"
value="jdbc:mysql://localhost:3306/mhtao">
</property>
<property name="username" value="root"></property>
<property name="password" value="mysql"></property>
</bean>

#5


1、看你的方言  对不对?
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
由以上这几种 不同的mysql版本 这个配置不一样 具体区别大家可以百度一下,还有如果报 sa@localost这样的错误,但是又没有sa这个账号,这是由于高版本进行集成的时候hibernate把配置给覆盖了 在spring中这么配置即可。
<property name="hibernateProperties">
<props>

<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.jdbc.batch_size">20</prop>
<prop key="hibernate.connection.autocommit">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">false</prop>
<prop key="hibernate.connection.useUnicode">true</prop>
<prop key="hibernate.connection.characterEncoding">UTF-8</prop>
<prop key="hibernate.cache.provider_configuration_file_resource_path">/ehcache.xml</prop>
<prop key="hibernate.hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory
</prop>
<prop key="hibernate.cache.use_query_cache">false</prop>
<prop key="hibernate.connection.username">root</prop>
<prop key="hibernate.connection.password">uroot</prop>
<prop key="hibernate.connection.url">${db.url}</prop>

</props>
</property>

等于就是重新再次配置一遍 hibernate的配置,或者在hibernate.xml中配置一遍 username password url都可以 我还是建议在spring中进行配置 因为可以统一用一个配置文件来进行管理。

#6


SSH: Access denied for user 'sa'@'localhost' (using password: NO)
怎么一个SqlServer 一个mysql啊。。。这报错报得不专业啊。。。。

#7


Hibernate4+Spring在dataSource中配置连接信息无效,需要在sessionFactory中为hibernateProperties属性配置props。
参考:http://19841026.iteye.com/blog/2160555

#8


你检查下你的 程序里 怎么出现了 sa 用户,sa是sqlserver的 。
看你的配置文件里 只有root用户。 
看的出来你的sa用户的访问权限没开通,要去查询分析器 设置西

#9


明显是数据库的链接方式不对。