SSH+Easyui应用部署至新浪服务器数据库连接及问题
2015-10-23 11:39
579 查看
一、新建应用,开启SAE Mysql服务
在添加应用之后需开启当前应用的mysql服务,这里开的mysql服务为“共享型”MYIAM数据库,企业版才能开启Inbon型数据库,接下来“操作MYSQL”对数据库初始化二、数据库数据连接池配置
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="com.mysql.jdbc.Driver" /> <property name="jdbcUrl"> <value><![CDATA[jdbc:mysql://w.rdc.sae.sina.com.cn:3307/应用名称?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true]]></value> </property> <property name="user" value="Access Key" /> <property name="password" value="Secret Key" /> <property name="maxPoolSize" value="12" /> <property name="minPoolSize" value="0" /> <property name="maxStatements" value="100" /> <property name="initialPoolSize" value="3" /> <property name="maxIdleTime" value="10"/> <property name="idleConnectionTestPeriod" value="10" /> <property name="testConnectionOnCheckin" value="true" /> <property name="testConnectionOnCheckout" value="false" /> <property name="preferredTestQuery" value="SELECT 1 FROM DUAL" /> </bean>
应用名称为当前应用名称即建应用时的名称;
Access Key:键值
Secret Key:密码
这两个值在创建应用时新浪云计算自动生成,在总览页面可以看到。
Hibernate配置文件:
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect"> org.hibernate.dialect.MySQL5InnoDBDialect </property> <mapping resource="x/x/x/User.hbm.xml" /> <mapping resource="x/x/x/Syslog.hbm.xml" /> </session-factory> </hibernate-configuration>
三、将代码打包成.war文件上传至服务器
新建一个代码版本,将打包生成的.war文件上传至新浪服务器遇到的问题:
将代码上传至服务器之后,user数据表能正常访问,但syslog表始终访问失败,但在本地是能够正常运行。查看JVM日志报以下错误信息:
- [22/Oct/2015:17:03:49 +0800] JAVA_Error: CREATE command denied to user 'yy52l1njm1'@'10.67.15.82' for table 'syslog' yq34.javaruntime
- [22/Oct/2015:17:37:57 +0800] JAVA_Error: Unsuccessful: create table weather.syslog (id integer not null auto_increment, log varchar(255), msg varchar(255), status varchar(255) comment '日志状态 成功 错误', createdate datetime not null, primary key (id)) yq33.javaruntime
创建表和查询时出错,就是syslog数据不能访问,user表可以。问题找了好久发现,在syslog的hibernate映射文件中多了一个catelog字段:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="x.x.x.model.Syslog" table="syslog" catalog="weather"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="native"></generator> </id> <property name="log" type="java.lang.String"> <column name="log" /> </property> <property name="msg" type="java.lang.String"> <column name="msg" /> </property> <property name="status" type="java.lang.String"> <column name="status"> </column> </property> <property name="createdate" type="java.sql.Timestamp"> <column name="createdate" length="0" not-null="true" /> </property> </class> </hibernate-mapping>该文件使用myeclipse逆向生成,catalog是由一个数据库实例的元数据组成的,包括基本表,同义词,索引,用户等等,简单的说就是数据库名称。问题就出在这里,在本地的数据库为wather,而由于代码上传至了新浪的云服务器,而这里的数据库名称为app_weather,所以会出现以上错误。将catalog删除或将值改为服务器上数据库的名称,问题解决。
相关文章推荐
- 【CF应用开发大赛】微博社交简历
- Linux Generating SSH Keys
- perl脚本实现限制ssh最大登录次数(支持白名单)
- rsync ssh 数据同步分析
- 搭建SSH时的思考和遇到的几个问题的解决方法
- SSH 使用原理 与解释
- SSH整合中 hibernate托管给Spring得到SessionFactory
- Linux VPS利用SSH重置ROOT密码的方法
- Python脚本实现下载合并SAE日志
- ssh,scp自动登陆的实现方法
- linux下使用ssh远程执行命令批量导出数据库到本地
- shell脚本实现ssh自动登录功能分享
- linux下ssh安装与scp命令使用详解
- ssh项目环境搭建步骤(web项目)
- 脚本实现SSH登录邮件报警
- Linux SSH 安全策略 限制 IP 登录方法
- 解决SSH连接超时的2个配置方法
- 用shell脚本防ssh和vsftpd暴力破解的详解讲解
- 在SAE上搭建最新wordpress的方法
- php实现SAE上使用storage上传与下载文件的方法