今天收到升级姐们儿的一个咨询问题,说是我们ds服务启动不了。看了下日志,是在数据库总创建表的时候抛了异常,大概是“JZ0EM 数据结束”这类描述,查了下网络上的信息,没有找到结果,但是大概知道是字符集引起的问题。在初始化JDBC连接参数的时候,我们这边有设置charset=cp936,也就是中文的编码;数据库那头,设定的是eucgb的编码,好像也是中文的字符集。去掉这个参数后,创建表一切正常。
这样,在我连接数据库创建表的时候,使用的是 statement.exeUpdate()这个方式来执行sql。然后就抛出了异常,但是表仍然创建成功了,不知道怎么回事。
可能是跟创建的表的字段有关系,因为,我使用简单的字段,比如说只有一个integer类型的表,没有问题,但是在实际业务中,字段就多一些,类型也有各种,比如说nvarchar,decimal之类的。
不知道有没有同学也遇到过这种问题,还望指教。