0

我正在尝试从 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 上输出 main 函数,我从数据库中获取整个字符串。但是确切的代码给了我在 AIX 机器上的加密值。

AIX 机器上的输出 [B@62637268

4

1 回答 1

0

我解决了这个问题。问题出在连接器文件上。我使用的是旧版本的连接器文件。

我使用的 MySQL 版本:mysql-5.5.2-m2-aix5.3-powerpc-64bit

带有上述mysql的Mysql连接器的非工作版本:mysql-connector-java-3.1.7-bin.jar

具有上述 mysql 的 MySQL 连接器的工作版本:新版本:mysql-connector-java-5.1.6-bin.jar

感谢大家调查我的问题并试图帮助我。非常感谢。

于 2013-01-28T16:54:41.970 回答