本帖最后由 flyingsnake 于 2016-11-1 11:20 编辑
首先用最大的字体感谢技术支持--徐增凯。谢谢谢谢
手动迁移的可以参照http://bbs.fanruan.com/thread-79655-1-1.html
昨天无聊,看到帆软的数据迁移已经发布这么久了。试试将数据有hsql迁移至mysql。万万没有想到,一头栽进一个超级大坑。甚至到现在爬出来后,依然知其然不知其所以然。 首先介绍下本机环境。
win2008r2+mysql5.7.16+tomcat9.0.0.m11+帆软0716jar包设计器
这里把版本号写这么全可不是为了骗字数的。。。后边这个版本号可把我害苦了。
为了迁移数据,我首先down了个最新的帆软设计器,并升级到1026版。现在的设计器和原来不同了。不是下载下来就是最新的,而是需要自己来升级,官方的解释是“设计器提供的是最稳定的版本。”
参照精简得与电报有一拼的help文档,开始迁移工作。
服务器不准备升级jar,所以重新安装设计器到全新的目录。以后为了好区别,我将设计器的版本号会一并写上。
1、安装并升级完1026设计器,安装迁移插件。一切顺利
2、将0716的WEB-INF\finedb目录下的所有文件覆盖到1026设计器同目录。(这里碰到的一个坑,之前为了url简短,将ReportServer改为了“RS”。大家一定记住,迁移之前,一定要把这个改回原值,一定一定一定一定!!这个字符串不但写到了数据库中,还在配置文件\WEB-INF\web.xml中也有.)
3、在mysql中建立新的数据库,我建立的是rs_main和rs_logdb两个。
后来发现,用navicat premium来建立的库有时候居然经常有问题,原因不明。建议大家用命令行来建库吧。
4、配置迁移插件。没有啥可说的,只有地址、用户名、密码可以填写。
这里和help文档中有些不同,首先,地址中的后缀不能去除,否则报错。
其次,日志和主体数据不是必须同时迁移,甚至可以只迁移单独一个。
5、之后我就经历了各种报错。
查看日志基本上都是说某某表已经存在、某某表未建立等等。最气人的是,当连接进入mysql中查看时,库中都是空的。。个别时候给你建好两个表格意思一下。。。
这是逗我玩么?
有时候成绩会好些,建立66个表。66啊。多么吉利的数字,可是官方的help中明明是67个好不好。这个也给我玩打折?这里也是 个坑,最后我迁移完毕时72个表。
6、期间经历了换机器,更新mysql连接驱动、换mysql版本等一系列的苦难。关键令人费解的是官方技术支持的测试一直是正常的。气人气人!!
一直到有一次。他给我回复了一句
不是吧~~我已经删除了不下50个库了。就没有成功过。不过既然连技术支持也出现了,说明迁移插件是个坑的事实是存在的。那么尝试解决吧。
7、设计器自带的web服务器不行就换tomcat。mysql版本由绿色版、5.17安装版、5.5安装版一路更新上来,甚至连oracle最新的5.7.16也试过了。都失败。绝望了。。
8、今早,技术支持徐增凯把他使用的mysql5.7.16安装版发给了我。我从2008r2上再次尝试,失败。但居然从win2012上成功了。惊喜!!再次在win2008上重装mysql。关闭mysql服务后,直接删除mysql的对应数据库文件。用命令行重新建库。迁移,居然成功了。
至此,理应到一段落了。只要将配置文件都复制到正式服务器就可以了。后来居然在logdb上又一次摔倒了。
复制配置文件的过程不复杂,需要复制的文件有WEB-INF\resources\config.xml 文件的最尾部
<JDBCDatabaseAttr url="jdbc:mysql://172.20.3.45:3306/rs_main?useUnicode=true&characterEncoding=UTF-8" driver="com.mysql.jdbc.Driver" user="root" password="111111" encryptPassword="false">
<DBCPAttr/>
</JDBCDatabaseAttr>
</PlatformConnection>
<writeShortCuts writeShortCuts="true"/>
</ReportServerParameter>
红色部分为需要增加或修改的部分。
黄色部分为true时,密码将加密存储。否则就是明文,我为了修改方便,直接明文保存了。
红框部分是需要添加的。原来的参数被直接/掉了。
还有WEB-INF\resources\fsconfig.xml中最后需要增加上红色字体部分。
<DatabaseAdapterAttr isAdapted="true"/>
</fsconfig>
这样,主数据就已经迁移成功了。
那么我们解决最后一个坑。在不升级jar的情况下,如何迁移logdb。
迁移logdb最开始设想很简单,觉得应该和主数据类似,找到了需要的配置文件WEB-INF\resources\logdb.xml复制到服务器后居然无法顺利加载,服务器坚定的帮我新建了WEB-INF\logdb目录。向里边写日志。。。
好吧。我来个偷懒的方式骗过服务器。
将fr-chart-8.0.jar、fr-core-8.0.jar、fr-performance-8.0.jar、fr-platform-8.0.jar、fr-report-8.0.jar、fr-third-8.0.jar六个文件从0716服务器中备份,由1026设计器中复制到0716服务器中。欺骗服务器已经完成jar包的升级,之后顺利安装迁移控件。点击“日志信息”“测试连接”“保存”。
再关闭tomcat。将jar包还原。至此,所有工作完成。
手动迁移结束,数据库迁移至mysql的rs_main数据库。日志文件迁移至mysql的rs_logdb数据库。
最后附上传说中的赚钱利器,各种附件、配置文件、测试可以使用的mysql5.7.16
安装版里边的mysql.txt是网盘地址,本来当彩蛋的。结果第一个就把“星神”给坑了。他居然买了附件没有开。。
新建文件夹.rar
(35.31 KB, 下载次数: 21, 售价: 50 个F豆)
|