在java中将字符串转换为oracle.sql.clob?

发布于 2024-12-14 09:12:35 字数 498 浏览 2 评论 0原文

我正在 Oracle 数据库内编写一个 Java 函数,该函数会生成文本分配! 如何在java中将字符串转换为CLOB(oracle.sql.CLOB)? 直接的方法是什么?

我正在尝试构建一个以 String 作为输入,以 oracle.sql.CLOB 作为输出的函数,但它不起作用!我没有做任何jdbc相关的工作!

这是我所拥有的(不起作用!)

  public static CLOB str2clob(String s)
  {
         oracle.sql.CLOB clob = null;

         try
         {
               clob.setString(0,s);

         } catch (Exception e)
         {
         }
         return clob;
  }

I'm coding a Java function inside Oracle Database which produce allot of text!
how to convert a string to CLOB (oracle.sql.CLOB) in java?
what is the straight-forward way to do?

I'm trying to build a function which has String as an input with oracle.sql.CLOB as an output, but it's not working! I'm not doing any jdbc related work!

here is what I have (which is not working!)

  public static CLOB str2clob(String s)
  {
         oracle.sql.CLOB clob = null;

         try
         {
               clob.setString(0,s);

         } catch (Exception e)
         {
         }
         return clob;
  }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

少女情怀诗 2024-12-21 09:12:35
/*********************************************************************************************
 * From String to CLOB
 *  @return CLOB representation of string
 *********************************************************************************************/
private java.sql.Clob stringToClob(String source)
{
    try
    {
        return new javax.sql.rowset.serial.SerialClob(source.toCharArray());
    }
    catch (Exception e)
    {
        log.error("Could not convert string to a CLOB",e);
        return null;
    }
}
/*********************************************************************************************
 * From String to CLOB
 *  @return CLOB representation of string
 *********************************************************************************************/
private java.sql.Clob stringToClob(String source)
{
    try
    {
        return new javax.sql.rowset.serial.SerialClob(source.toCharArray());
    }
    catch (Exception e)
    {
        log.error("Could not convert string to a CLOB",e);
        return null;
    }
}
北城挽邺 2024-12-21 09:12:35

像这样的东西:

oracle.sql.CLOB **clob** = ((OracleResultSet)rset).getCLOB(index);

StreamReader sr = new StreamReader(**yourString**);
char[] bufr = new char[clob.getChunkSize()];


OutputStream os = new OutputStream(clob.getOutputStream());

int charsRead = 0;
for(charsRead = sr.read(bufr); charsRead>-1; charsRead = sr.read(bufr)){
   os.write(bufr, 0, charsRead);
}


os.flush();
os.close()
sr.close();

Something like this:

oracle.sql.CLOB **clob** = ((OracleResultSet)rset).getCLOB(index);

StreamReader sr = new StreamReader(**yourString**);
char[] bufr = new char[clob.getChunkSize()];


OutputStream os = new OutputStream(clob.getOutputStream());

int charsRead = 0;
for(charsRead = sr.read(bufr); charsRead>-1; charsRead = sr.read(bufr)){
   os.write(bufr, 0, charsRead);
}


os.flush();
os.close()
sr.close();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文