`
hanyi366
  • 浏览: 292207 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

确定要使用某种编码的实体不得包含在该编码中属非法的序列

 
阅读更多

以前做windows迁移aix环境的时候遇到一些问题,现在整理了和大家分享一下。

引起问题的原因主要是开发过程不够规范所致:

1.配置文件大小写问题
在template-mapping.xml里面发现有几个地方的大小写跟实际文件名不一样(windows不区分大小写,aix区分):
a. jsp/oa/archives/basicManage/processsetup/toSelPerformUserByGroup.htm
b. jsp/oa/archives/basicManage/processsetup/toSelPerformUserTreeByGroup.htm
c. jsp/oa/system/roleView/roleVIewMoveTree.htm

错误的地方是:
a是basicManage ,正确的应该是basicmanage;
b是basicManage ,正确的应该是basicmanage;
c是roleVIewMoveTree ,正确的应该是roleViewMoveTree;

d对象取属性时大小写一定要区分,如:有属性id ${user.Id}出错
e标签书写必须规范,如:<c:when>11</when > tomcat 可以运行,websphere报错
f 标签内不应有换行 如: ${aaa
}

2.ibatis的xml配置文件里面不能包含中文,否则会报“确定要使用某种编码的实体不得包含在该编码中属非法的序列”。

3.装载版本控制参数(程序取路径分割符时要使用java.io.File.separator)
原来的代码:
String versionControlStr = desUtil.desLicense(realPath+”\\license.des“);
需要修改为下面这样,才可以找到文件,不然就报错。
String versionControlStr = desUtil.desLicense(realPath
+java.io.File.separator+ “license.des”);

4.web.xml(配置文件分隔符使用, AIX上面不能用\,需要修改为/)
原来
<param-value>\WEB-INF\flowxml\</param-value>
<param-value>\WEB-INF\methodxml\</param-value>
<param-value>\WEB-INF\eventxml\</param-value>
在AIX上面不能用\,需要修改为/
<param-value>/WEB-INF/flowxml/</param-value>
<param-value>/WEB-INF/methodxml/</param-value>
<param-value>/WEB-INF/eventxml/</param-value>

5.下面这个问题只能通过取环境配置,windows下面直接取路径就可以,但是aix中要在路径前面加上 路径分割符合

GKEConfig 读取配置文件WEB-INF/gke.properties
原来
File file = new File(getWebInfPath()+CONFIG_FILE);
在AIX上面说找不到该文件,该文件确实存在的,修改后
File file = new File(File.separator + getWebInfPath()+CONFIG_FILE);
这样子就能找到了。

7.db2 删除列问题
启动服务时,表单监听器会对动态表进行一些处理,其中有个地方是删除动态表中多余的列,里面做了个循环执行
“ALTER TABLE QueryView_DocApp DROP COLUMN COL9”,第一个循环没问题,当执行第二个循环就报错了,原因大概
是表的结构给修改了,现处于检查暂挂状态,不能在改变表结构。
然而,可以将这循环 ALTER TABLE 语句替换为以下一个语句:

ALTER TABLE QueryView_DocApp DROP COLUMN COL8 DROP COLUMN COL9 DROP COLUMN COL10

8. 修改表单字段名称过长的脚本(设计的时候表字段不要过长)

select * from IFORM_E_FORMELEMETADATA where fieldname = ‘cannull_pr_f_tempmessageContent’

update IFORM_E_FORMELEMETADATA set fieldname = ‘cannull_pr_f_tempmessageConte1′  where fieldname = ‘cannull_pr_f_tempmessageContent’
update IFORM_E_FORMELEMETADATA set fieldname = ‘temp_pr_f_tempswxiangguanbume1′  where fieldname = ‘temp_pr_f_tempswxiangguanbumenyj’

希望对大家有所帮助。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics