开发一个项目,原先无论是后台(mysql) 还是前台都运行在32bit机器,使用com.mysql.jdbc.Driver连接mysql数据库。
jdk: jdk1.5.0_04
mysql:mysql-4.1.22
移植以后:
1. 后台服务器是64bit版本Slackware,数据库是64bit 的mysql
2. 前台程序是在32bit机器上用java开发的,JDK也是32bit的 -- 开发服务器(xp系统)
当在开发服务器上运行tomcat,连接后台的数据库为mysql-32bit时,系统运行正常。
而将连接后台的数据库改为mysql-64bit时,系统异常。经调试发现,如执行下面的代码:
protected SqlRowSet queryRowSet(String sql, Object[] obj)
{
String logInfo = getLogInfo(sql, obj);
log.debug(logInfo);
return getJdbcTemplate().queryForRowSet(sql, obj);
}
String IS_USER_VALID_SQL = "select status from users where username = ? and pwd = md5(?)";
SqlRowSet srs = queryRowSet(IS_USER_VALID_SQL,new Object[]{loginForm.getUsername(),loginForm.getPwd()});
连接mysql-32bit时,查询结果不为空。而连接mysql-64bit时查询结果变为空。这是为什么?如何解决?