2014-02-28 107 views
0

我已经存储了具有输入paramater XML类型和更新基于XML标签数据库值
创建过程XXX @vari XML
现在我想程序从Java调用
存储过程我已经通过循环
创建一个XML字符串和XML看起来像这样传递XML参数通过Java存储过程在SQL Server2008中

<root> 
<file> 
<file_name>D:\Data_Files\Data_Files\PDFDocuments\LWD Report.pdf</file_name> 
<keyword>Resistivity</keyword> 
<wordcount>17</wordcount> 
</file> 
<root> 

然后我创建java.sql.SQLXML对象和c alled过程是这样

SQLXML xmlval=dbConnection.createSQLXML(); 
xmlval.setString(sb.toString()); 
callable=dbConnection.prepareCall("{CALL PARSEXML (?)}"); 
callable.setObject(1, xmlval); 
callable.execute(); 

但表不获取和更新
我有Management Studio中相同的程序它工作正常,并更新表
这是为什么不通过Java发生的事情是我的问题

回答

0

我们在处理MSSQL和Oracle的XML时遇到了各种各样的问题。这些驱动程序无法处理它,尤其是在涉及大量数据时。我们使用NVARCHAR(MAX)/ CLOB来解决这个问题。只需要存储过程接收它,并做一个简单的字符串到XML转换,这对我们非常有用。

+0

我已经在我的java中设置了sutocommit为false,所以表格dint得到更新现在它工作正常 – prasanna

相关问题