http://www.javayou.com (收藏,设为首页)
当你不能再拥有时,你唯一能做的,就是让自己不要忘记 (手机请访问 http://3g.dlog.cn/javayou)

DLOG4J 4.0开发笔记(八)之DB2测试

2008年2月2日(Saturday) 09点40分 作者: 刘冬 天气: 心情: 一般
下载了个最新版本(9.5 Express-C)的DB2,在我的XP装上,安装过程跟比以前好像稍微简洁一些些。安装过程添加了一个管理帐号 db2admin,并为之设置了密码。

导出DB2 v8的建库脚本,注意到了概念模型中的TEXT被转成DB2的 Long VARCHAR。使用的是DB2 type4链接方式,对应的jar文件是db2jcc.jar,这个文件居然将近3兆,是db2java.zip的三倍还不止。把db2jcc.jar 扔到 tomcat的lib目录(我不想把这些驱动包放到项目中,这样会让项目很大),DB2的配置如下:

<property name="connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
<property name="connection.url">jdbc:db2://localhost:50000/dlog40</property>               
<property name="connection.username">db2admin</property>
<property name="connection.password">moabc</property> 
      

启动Tomcat正常,数据库也能连上,但是执行程序时报42074错,查了文档说是对象没找到之类的。打开控制中心一看,dlog40数据库对应的模式是liudong,也就是我的当前用户名。再修改配置中的用户名和口令就很正常了。

DLOG4J在做数据库兼容测试的几个重点是:自增长字段时间类型字段长文本字段。自增长字段在DLOG4J 4.0中已经不再使用;时间字段押后再说。测试长文本字段的时候发一篇很长的文章,结果报错:字符串长度超过最大限制32767。于是把LONG VARCHAR改为CLOB后问题解决。

另外一个问题就是时间字段,在概念模型中设置的类型是datetime,而转成DB2的时候就变成了date,于是所有的日期时间数据中的时间全部清零。需要手工将date改为DB2的TIMESTAMP。但是在DB2控制中心中想把DATE改为TIMESTAMP是很麻烦的,还需要填写一个什么转换表达式。另外DB2在改表结构的时候是很土的,它的做法是导出数据、删除表、重建表、导入数据。我的天啊。

这是目前位置发现的两个会影响运行的问题,这两个问题都可以通过导出SQL脚本的时候进行物理模型的调整得以解决。

总之,PowerDesigner的概念模型在转成例如Oracle/DB2/SQL Server都会多多少少有一两个问题,mysql就不会。
标签: DLOG4J DB2 
评论者: 虫虫 2008-2-2 13:30 (Saturday)
PowerDesigner几?我以前用PowerDesigner导出oracle没有问题的
// 你不用自增,ID字段怎么赋值的?
评论者: 刘冬 2008-2-2 13:39 (Saturday)
PowerDesigner 12.0

用程序来生成唯一值,因为DLOG4J多数使用复合主键,因此要保证值唯一是很容易的。
姓名: 
邮箱:  {可选}
网址:  {可选} 此评论只有我和写日记的人查阅
校验码: ... <我看不清楚>
网记为您提供手机和互联网同步的个人主页,带给你不一样的体验