bluemix 服务器在 MySQL 中给出 SQLGrammarException
Posted
技术标签:
【中文标题】bluemix 服务器在 MySQL 中给出 SQLGrammarException【英文标题】:bluemix server gives SQLGrammarException in MySQL 【发布时间】:2015-11-25 07:57:17 【问题描述】:![out put from cf logs app-name --recent ]1我已经在基于后端的应用程序中开发了一个spring/hibernate-mysql。我已经成功地在本地机器上测试了应用程序。但是当我将应用程序上传到 IBM bluemix 时,访问服务时到处都有异常--> Dao 方法。它说 org.hibernate.exception.SQLGrammarException 说明消息,例如“ SELECT command denied to user 'username@75.126.83.16'。有趣的是,当我放置一个没有 Hibernate/spring Dao 的普通 JSP 但使用相同的连接字符串时,它有效.
Here is the spring-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="pojos" />
<bean id="adminService" class="pojos.AdminService">
<property name="adminDao" ref="adminDao" />
</bean>
.. Other Service class bean's info....
<bean id="adminDao" class="pojos.AdminDao">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="fieldOfficerDao" class="pojos.FieldOfficerDao">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="questionMasterDao" class="pojos.QuestionMasterDao">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
.. Other Dao class bean's info....
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>pojos/Admin.hbm.xml </value>
... And other hbm files...
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.current_session_context_class">thread</prop>
</props>
</property>
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://192.155.247.251:3307/<DB-Name>" />
<property name="username" value="<DB-User-Name>" />
<property name="password" value="<DB-Password>" />
</bean>
<bean id="dbUtil"
class="pojos.DbUtil"
init-method="initialize">
<property name="dataSource" ref="dataSource" />
</bean>
【问题讨论】:
您是否使用过您的用户名(从凭据中获取)或“用户名”,如图所示? 嗨 data_henrik,是的,我使用了 bluemix phpMyAdmin 服务提供的原始凭证。不是我刚刚从每个 .hbm.xml 文件的类标记中删除了目录属性。该属性是可选的,它包含 mySQL 的模式名称。 以前是
<class name="pojos.Admin" table="admin" catalog="merca">
但现在是
<class name="pojos.Admin" table="admin">
【讨论】:
以上是关于bluemix 服务器在 MySQL 中给出 SQLGrammarException的主要内容,如果未能解决你的问题,请参考以下文章