posts - 72, comments - 66, trackbacks - 0, articles - 0

从Hsql中转数据到postgresql时遇到的问题

Posted on 2008-07-04 15:09 Fingki.li 阅读(318) 评论(0)  编辑  收藏 所属分类: About linux
工作中的需要,将一个软件应用的数据库由hsql转为postgresql.
从Hsql中转数据到postgresql时,我采用的是从 dbname.script中获取数据的脚本,写成新的dbname.sql,然后在postgresql中执行的方法。
经过一番努力,终于如愿以常成功导入了数据。
大概浏览一下数据,没有什么问题,就放心的让同事去测试了。
不到一会儿的工夫,同事就找过来,说软件应用中的原用户无法登录,报错为用户的privatekey无法解开(此应用采用数字证书认证,并且加密了privatekey存于数据库)。
我很是奇怪。
让同事新创建用户,正常 ,也可以正常登录。
于是断定为数据有问题。
打开数据库查看用户信息表,发现privatekeyinfo字段中的数据中有好多 u000a,感觉不对,再查看一下新创建的用户,这个字段中没有。
找来dbname.sql查看,果真里面有好多\u000a,实际上这一位置应为回车.替换所有的\u000a为回车,重新导入数据。
一切OK了。
个人感觉原因是:hsql的sql脚本不支持回车符,所以用\u000a代替;而在postgresql中,数据库不认\u000a,导致数据被修改。
从而privatekey无法正常解开。
希望朋友们不要再走进这个误区。

只有注册用户登录后才能发表评论。


网站导航: