0

mysql を使用した後に oracle を使用しようとしていますが、db テーブルから情報を取得することについて質問があります。ここに私が持っているものがあります。

PreparedStatement statement = null;
    ResultSet resultSet = null;

    List<News> newsList = new ArrayList<News>();

    try {
        statement = connection.
        prepareStatement(NewsSQLQueryContainer.GET_NEWS_LIST);

        resultSet = statement.executeQuery();
        while (resultSet.next()) {
            News news = new News();
            news.setIdNews(resultSet.getInt("idnews"));
            news.setInfo(resultSet.getString("info"));
            news.setNewsDate(resultSet.getDate("newsdate"));
            news.setNewsHeader(resultSet.getString("newsheader"));
            newsList.add(news);
            }
    }

接続は自分のプールから受信され、次のように初期化されます。

public static void init() throws DAOException{
    if(instatance == null){

        ResourceBundle rb = ResourceBundle.getBundle(PROPERTIES_FILENAME);
        String driver  = rb.getString("DATABASE_DRIVER_NAME");
        String url = rb.getString("DATABASE_URL");
        String user = rb.getString("DATABASE_USER");
        String password = rb.getString("DATABASE_PASSWORD");
        String poolSizeStr = rb.getString("DATABASE_POOLSIZE");
        int poolSize = (poolSizeStr != null) ?
                Integer.parseInt(poolSizeStr) : DEFAULT_POOL_SIZE;

        log.info("Trying to create pool of connections...");

        instatance = new ConnectionPool(driver,url,user,password,poolSize);

        log.info("Connection pool initialized");
}

このプロパティ ファイルから:

DATABASE_DRIVER_NAME=oracle.jdbc.driver.OracleDriver
DATABASE_URL=jdbc:oracle:thin:@localhost:1521:ORCL
DATABASE_USER=root
DATABASE_PASSWORD=root
DATABASE_POOLSIZE=40

ほとんど同じコードが mysql で動作し、現在は動作しません (結果セットに何も取得されません)。オラクルから情報を取得する特別な方法はありますか?

修正: このユーザーはこのデータベースに対してそのような権限を持っていないことを忘れていました

4

1 に答える 1

2

あなたが抱えている問題は、MySQL テーブルと比較して Oracle テーブルから情報を取得することの違いに関係しているとは思いません。結果セットを取得する方法に問題があるようには見えません (ただし、NewsSQLQueryContainer.GET_NEWS_LIST に含まれるクエリを確認することは興味深いでしょう)。明らかな質問で申し訳ありません - あなたのテーブルにはデータが含まれていますか?!

于 2012-05-01T14:42:09.847 に答える