gpt4 book ai didi

java - 我正在尝试使用 JDBC 从 Oracle 表中提取 XMLTYPE 列,但遇到一些问题

转载 作者:太空宇宙 更新时间:2023-11-04 14:36:24 25 4
gpt4 key购买 nike

我正在尝试使用 JDBC 从 Oracle 表中提取 XMLTYPE 列。
我有一个疑问:

    select "XML_FILE" FROM "TABLE_NAME"

当我在 Oracle SQL Developer 中运行查询时,它完全正常地返回所有 XMLTYPE 行。

但是,当我运行以下 Java 代码并运行相同的查询时,我总是为每列返回“null”。我不确定出了什么问题,我尝试过做很多不同的事情,但没有任何效果。重要提示 - 每个 XMLTYPE 字段都有一个最多包含 60,000 行 XML 的 XML 文件。

我正在使用的Java代码:

String query = "select \"XML_FILE\" FROM \"TABLE_NAME\"";
//creating PreparedStatement object to execute query
PreparedStatement preStatement = null;
try {
System.out.println("QUERY: "+query);
preStatement = con.prepareStatement(query); //con is the Connection obj
} catch (SQLException e) {
e.printStackTrace();
}

ResultSet result = null;
try {
result = preStatement.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("RESULT SET: "+result.toString());
String dataResult = "";
while(result.next()){
for(int i=1; i<=numCols; i++){
dataResult += result.getObject(i)+"\t";
//dataResult += result.getString(i)+"\t";
}
dataResult+="\n";
System.out.println("RESULT: \'"+dataResult+"\'");
}

任何帮助将不胜感激。谢谢!

最佳答案

由于 varchar 长度(4000 字节)的限制,您无法将其作为字符串 (varchar) 检索。选择它作为 CLOB:

    String query = "SELECT TBL.XMLTYPECOLUMN.GETCLOBVAL() FROM TABLE TBL";
rs = stmt.executeQuery(query);
xmlClob = (Clob) rs.getClob(1);

http://kodehelp.com/how-to-read-xmltype-column-from-database-using-jdbc/

关于java - 我正在尝试使用 JDBC 从 Oracle 表中提取 XMLTYPE 列,但遇到一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25515119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com