当前位置: 首页 > 知识库问答 >
问题:

尝试检索XML类型列时出错

华欣怡
2023-03-14

我试图从XML类型列中检索某个节点。

我的代码在本地环境中的Tomcat中运行良好,但当我创建EAR文件并将其部署到WeSphere Application Server中时。我得到一个错误:

引起:java.lang.NoClassDefFoundError:oracle.xdb.XMLType

在oracle.jdbc.driver.NamedTypeAccessor.getOracleObject(NamedTypeAccessor.java:249)
在oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:136)
在oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:110)
在oracle.jdbc.driver.GeneratedStatement.get对象(GeneratedStatement.java:261)
在oracle.jdbc.driver.GeneratedScrollableResultSet.get对象(GeneratedScrollableResultSet.java:761)
在com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.get对象(WSJdbcResultSet.java:1919)
在com.ibm._jsp_appGetAssetContent_jspService(_appGetAssetContent.java:137)

...还有26个

原因:java。lang.ClassNotFoundException:oracle。xdb。XMLType

在爪哇。网URLClassLoader。findClass(URLClassLoader.java:666)
位于com。国际商用机器公司ws。独自创立ExtClassLoader。java上的findClass(ExtClassLoader.java:243)
。lang.ClassLoader。java上的loadClassHelper(ClassLoader.java:942)
。lang.ClassLoader。com上的loadClass(ClassLoader.java:877)
。国际商用机器公司ws。独自创立ExtClassLoader。java上的loadClass(ExtClassLoader.java:134)
。lang.ClassLoader。loadClass(ClassLoader.java:847)
。。。33多

我的代码

XMLType poxml = null;
String dataElXml= null;

try{
Context ctx= new InitialContext();
DataSource ds=(DataSource)ctx.lookup(dsource);
Connection Conn=ds.getConnection();
Statement Stmt=Conn.createStatement(); 
String itemID=request.getParameter("cat");
ResultSet rs=Stmt.executeQuery("SELECT TA.COLUMNNAME.extract('/data-pac/data-e')  FROM Tablename TA WHERE ID = "+itemID+"");

Integer j=0;

while(rs.next()) {
ok = true;
poxml = (XMLType)rs.getObject(1);

共有1个答案

弘兴言
2023-03-14

您必须下载xdb

 类似资料:
  • 在执行某个操作之前,我正在检查 null,但我遇到了一些问题。以下是代码: 我在点 c.size() != null 处得到一个“运算符 != 未定义参数类型int,null”。我知道 size 方法的返回类型是整数,这就是我收到此错误的原因吗?希望有人能提供建议。谢谢。

  • 当我想使用StreamBuilder从Firebase获取数据时,我想要Firebase firestone的图像和一些文本 当它调用Single_prod类时,它发生在这个类中,图像和文本显示Single_prod类: 我得到这个错误: 类型“List”不是类型“String”的子类型 导致错误的相关小部件是

  • 我无法使用Java在AWS Lambda上使用以下逻辑: 1) 当在S3 bucket中创建新对象时,触发lambda函数(用java编写) 2) 在这个lambda函数中,列出所有DynamoDB表。 3) 如果没有,请创建一个表。 4) 将S3对象的详细信息作为项写入DynamoDB。 我只让第1项起作用。当它到达第2项时,我在下面遇到了一个与权限相关的错误。 有什么帮助或建议吗? 我使用的权

  • 我有以下代码,其中列出了在我的网络上找到的域。 这给我带来了麻烦 jcifs。中小企业。SmbAuthException:登录失败、用户名未知或密码错误。 问题是,我知道代码应该可以工作,因为有时(比如15次运行中的1次),它会列出它应该列出的域: 域1/域2/域3/ 也尝试了我的家庭网络上的代码,它每次都能工作。 无论如何,如果我尝试列出特定域的文件: raiz=新的SMB文件(“smb://D

  • 我试图检索xml值从一列数据存储在xml格式使用下面的查询在OracleSQLDeveloper.但是得到这个错误: ORA-00932:不一致的数据类型:应为-got-00932。00000-“不一致的数据类型:应为%s获得%s”*原因: 列的数据类型为CLOB 如: