最近有个项目,使用Eclipse开发,基础架构是Wicket + Spring + JPA(Hibernate实现),数据库使用Sybase,版本是12.5.4。由于是在后期加入,所以基本的业务功能已经完成,负责的是一些报表统计和图形报表的展现,其中用到了JFreeChart。
搭建开发环境过程中,Eclipse和WSH都比较顺利的搭起来,Sybase也按照默认的设置进行安装,最后到还原生产环境的测试数据时,出现了诸如:1)不能找到备份服务,2)charset不不匹配,sort order id不匹配,3)ISO_1字符集没有安装等等的问题。
其中,1st的问题提示错误类似,链接不到"syb_backup"服务器的错误提示;2nd和3rd的问题的提示错误类似:Cannot configure server to use sort order ID 54, because the row for its underlying character set (ID 1) does not exist in syscharsets.
之前几次都找了资料解决了,可惜这两天“小黑”(My T61)再次down机,修完回来原来的操作系统没了,Sybase也没了,无奈之下只好重装,重新配置时,发现不记得怎么配了(都是当时图方便的错,以为是一劳永逸的事情,现在得重新找一次,配一次,都是懒的错),没办法,唯有重走一次旧路,顺便把流水帐记录在这里,《Sybase12.5.4 安装后的疑难杂症处理(备份+字符集+排序)》,留个备忘。
安装配置过程:
1. 安装Sybase,选择典型安装;
2. 安装完成后,会提示配置三个服务,分别是Adaptive Server、Backup Server、Monitor Server、XP Server,此时只勾选Adaptive Server即可;
3. 进入Adaptive Server的配置页面,将页大小调整为8k或16k;
4. 完成配置后,重启机器;
修复找不到备份服务的问题:
5. 重启完成后,通过Sybase Advantage登录,用户名为sa,默认密码为空;
6. 选择Master库,执行sp_configure "allow updates", 1;
7. 然后查看sysservers中的各种服务的配置信息,查看是否存在一条srvname='SYB_BACKUP'的记录;
8. 修改Backup Server服务的名称,执行udpate sysservers set srvnetname='机器名_BS' where srvname='SYB_BACKUP',机器名用本机的名字替换;
9. 然后到services.msc中,重启Adaptive Server服务和Backup 服务;
添加CP936和ISO_1字符集:
10. 在%SYBASE_HOME%\chartsets\cp936目录下,执行charset -Usa -P binary.srt cp936,提示选择yes/no时选yes;
11. 在%SYBASE_HOME%\chartsets\iso_1目录下,执行charset -Usa -P binary.srt iso_1,提示选择yes/no时选yes;
12. cmd进入sybase,isql -Usa -P -S%MACHINE_NAME%,%MACHINE_NAME%用本机的名字替换;
13. 查找iso_1字符集的id号,执行select name,id from syscharsets,go;
14. 执行sp_configure "default character set ",go;
15. 然后到services.msc中,重启Adaptive Server服务和Backup 服务,此时会碰到启动失败,没关系,再重启一次就一切正常了。
为Adaptive Sever增加sort order:
16. 开始菜单->Sybase->Server Config,配置Adaptive Server,一路点确定,直到看到“修改选项”,点击“语言”,点击“排序顺序”下的设置缺省,然后选择第一个“Dictionary order, case insensitive, accent insensitive”,然后一直确定,提示重启服务;
17. 重启服务过程中出现失败的话,再启动一次即可成功。
不写不知道,一写吓一跳,居然有17步之多,看来写个流水帐记一下还是有好处的,释放一下大脑空间。
还碰到一个恢复数据库时,日志爆满导致应用无法获取连接的问题,下次再写。
本文地址:http://ryan-d.iteye.com/blog/1539613