SQL server 2008 编程存储xml,代码有点小问题,求指教

husoule 发布于 2013/08/29 16:55
阅读 325
收藏 0

文件夹/xmark1.0-4/下面存放着几万个xml文件,文件名为xmark-1.0-00000  ,xmark-1.0-00001……一直到xmark-1.0-99999(我的xml文档没有后缀名)。我现在要把这些文件存储到sql server2008 数据库中,

首先我创建了数据库
Statement statement = con.createStatement();
// 创建一个两列的数据表 ,分别是xml文档名和xml文档
String sql = "CREATE TABLE XML(id varchar2(80) not null,content XML) ";
System.out.println(sql);  //test
statement.executeUpdate(sql);   //执行sql语句


然后要把各个文档存入这个表中。
public void insert_Table() throws ParseException
{
try
{
Statement statement = con.createStatement();

// 循环遍历文件夹中的所有xml文档
for(int i=0;i<100000;i++) //i表示文件夹中的xml文件数量
{    
//接下来要把文件夹xmark1.0-4/下面的文件名从00000到99999的xml格式文件存入sql server中。每个文件占数据库中一行的一列

//下面这一句是在oracle数据库中的代码,在sql数据库中对应的正确代码是什么???求教
//String sql = "insert into XML values ("+parise5(i)+",XMLType(bfilename('xmark1.0-4', 'xmark-1.0-"+parise5(i)+"'),1))";//这一句是在oracle数据库中的代码


//下面这一句是在sqlserver中应该写的代码,不太会了,请教
String sql = "insert into XML values ("+parise5(i)+",??这个地方的语句怎么写??";

// 结果集
System.out.println(sql);// test printf
statement.executeUpdate(sql);
}
}
catch(Exception e)
{
e.printStackTrace();
}

}



上段代码中用到一个parise5(i)函数,作用是调整文件名的规整。该函数的代码如下:
public static String parise5(int i)
{//整理文件名的格式
if(Integer.toString(i).length()==1){
return "0000"+Integer.toString(i);
}
else if(Integer.toString(i).length()==2){
return "000"+Integer.toString(i);
}
else if(Integer.toString(i).length()==3){
return "00"+Integer.toString(i);
}
else if(Integer.toString(i).length()==4){
return "0"+Integer.toString(i);
}
else {
{
return Integer.toString(i);
}
}
}


 请各位帮帮忙,感谢感谢!!

加载中
返回顶部
顶部