我正在尝试从MySQL数据库表中检索数据。为此,我在各种平台上使用以下代码。我的代码在Windows和Linux平台上运行良好。但是当我在AIX 6.1中使用相同的代码时,它不会检索正确的数据。
主要功能:
String storedstring = objDBUtil.lookup(0);
logger.info(storedstring);
数据库实用程序功能:
public String lookup(String number) throws Exception {
String sql = "SELECT info FROM records WHERE Snumber=?";
Connection dbConn = connect();
try {
PreparedStatement stmt = dbConn.prepareStatement(sql);
try {
stmt.setString(1, number);
ResultSet rs = stmt.executeQuery();
try {
if (!rs.next()) {
throw new TException("does not exist in the database");
}
return rs.getString(1);
} catch (Exception e) {
logger.info("Unexpected exception caught during auth: " + e.getClass().toString() + " " + e.getMessage());
return null;
}finally {
rs.close();
}
} finally {
stmt.close();
}
} finally {
dbConn.close();
}
}
在Windows上输出主要功能,我从数据库中获取整个字符串。但确切的代码在AIX机器上给我加密值。
AIX机器上的输出[B @ 62637268
答案 0 :(得分:0)
我解决了这个问题。问题出在连接器文件中。我使用的是旧版连接器文件。
我使用的MySQL版本: 的MySQL-5.5.2-M2-AIX5.3-PowerPC的64位
以上mysql的Mysql连接器的非工作版本: MySQL的连接器的Java-3.1.7-bin.jar
上面mysql的MySQL连接器的工作版本: 新版本:mysql-connector-java-5.1.6-bin.jar
感谢大家调查我的问题并试图帮助我。非常感谢。