0

ClobJDBCを使用してXMLType列を型変数に読み込もうとしています。これを行うとエラーが発生します....何かアイデアはありますか?

java.sql.SQLException: Invalid column name
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:269)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:490)
    at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3353)
    at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1883)
    at oracle.jdbc.driver.OracleResultSet.getClob(OracleResultSet.java:358)
    at persistance.FilmDAO.findFilmsWithXML(FilmDAO.java:626)

これは私のコードです:

public ArrayList<FilmBean> findFilmsWithXML() throws SQLException {

        ArrayList<FilmBean> filmList = new ArrayList<FilmBean>();

        try {
            currentConnection = ConnectionPool.getInstance().getConnection();

            String searchQuery = SqlHelper.getInstance().getSqlQuery(705);

            System.out.println("Query: " + searchQuery);

            currentStatement = currentConnection.prepareStatement(searchQuery);

            currentResultSet = currentStatement.executeQuery();

            while (currentResultSet.next()) 
            {
                FilmBean filmDTO = new FilmBean();
                filmDTO.setFilmId(Integer.parseInt(currentResultSet.getString("PK_ID_FILM")));
                filmDTO.setPoster(currentResultSet.getString("POSTER"));
                filmDTO.setTitle(currentResultSet.getString("TITLE"));
                filmDTO.setXml(currentResultSet.getClob("MYXML"));
                filmList.add(filmDTO);
            }
        }
        [...]
    }

このsetXml()メソッドは、モデル内のオブジェクトにClob型の値を設定します。filmDTO

編集

クエリにエイリアスがありませんでした:

SELECT to_clob("MYXML") As MYCLOB, PK_ID_FILM, POSTER, TITLE FROM FILM Where MYXML is not null
4

1 に答える 1

1

の後にエイリアスがありませんto_clob(XMLElement("MYXML"))。列MYXMLがクエリに存在しません。

于 2012-07-30T03:44:34.180 に答える