C#实现Oracle数据库插入clob字段类型数据

public static void InsertWithLob(OracleConnection conn)
        {
            if (conn!= null && conn.State == ConnectionState.Open)
            {
                try
                {
                    string sqlText = "insert into tb_nclob(id,name,text) values(1,‘test‘,:text)";
                    using (OracleCommand cmd = new OracleCommand(sqlText, conn))
                    {
                        OracleParameter oracleParameter = new OracleParameter("text", OracleType.Clob);
                        oracleParameter.Value = "this is my test";
                        cmd.Parameters.Add(oracleParameter);
                        int rows = cmd.ExecuteNonQuery();

         cmd.Parameters.Clear();
                        return rows;
                    }
                }
                catch (OracleException ex)
                {
                    throw new Exception(ex.Message);
                }
            }
        }

时间: 2024-11-01 11:15:59

C#实现Oracle数据库插入clob字段类型数据的相关文章

给Oracle数据库中CLOB字段插入空值

遇到往ORACLE数据库中插入数据时总是报ORA-01084 invalid argument in OCI call错误,经分析是因为表中的一个字段类型为CLOB,并且可为空,当在给该字段插入空值时引发的该错误.后来判断是否为空值,如果为空值使用DBNull.Value,以此解决了该问题. Null 指的是无效的对象引用:而 DBNull 是一个类, DBNull.Value 是它唯一的实例 .DBNull 的实例 DBNull.Value是数据库表中的空数据在 .Net 代码中的表现形式.我

Oracle数据库插入二进制字段数据

oracle数据库喜欢搞特殊,二进制字段数据不能直接插入,需先再该字段插入oracle函数返回的的初始数据,然后在查询更新该字段.下面以Blob字段类型为例: 1.插入初始数据 Class.forName("oracle.jdbc.driver.OracleDriver");      Connection cn= DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.5:1521:orcl", "

Oracle批量插入有日期类型数据

例如现在有张表 id(number) startTime(date) name(varchar2) 1 2017-08-13  zhangsan 2 2017-08-14  zhangsan 需要批量插入name为zhangsan,日期以天递增,一个月的数据 1 insert into t(id,date,name) 2 select level,trunc(current_timestamp)+level,'zhangsan' 3 from dual 4 connect by level<=

【Oracle】给clob字段插入数据

// 插入 //OracleCommand cmd = "insertInto into GIS_PolygonPoint(PCode,PointColl) values('140134', :var)"; // 修改 //OracleCommand cmd = new OracleCommand("update yd_line set coord=:coordstr where lineid=" + LineId.ToString(), conn); string

向Oracle数据库中CLOB插入数据报错问题

今天在项目中向数据库的CLOB属性插入一段篇文章(1000~2000)字就会报一个字符串过长的错误. 网上说用流来处理,没有这么做.这像是一个Bug,只要把插入的数据,默认扩充到2000以上就ok了. 下面是这段代码: if((temp.length()>=1000)&&(temp.length()<=2000)){ temp=StringUtils.rightPad(temp, 2008); } 使用StringUtils的rightPad方法使没超过2000的部分,在右边自

oracle 插入 clob字段的问题 及 python读取clob字段

1.用insert语句,插入clob字段,如果插入内容超过4000,会提示字符串过长,处理的方法是,先声明插入的字段为clob类型,如下:insertSql = "DECLARE email_text clob := '%s'; begin insert into emails values ('%r','%s',email_text,'重点股票跟踪(%s)','0',''); end;" % (email_text,id, contactEamilAddress, dateInput

Oracle数据库中的blob类型解析

Oracle的Blob字段比较特殊,他比long字段的性能要好很多,可以用来保存例如图片之类的二进制数据. 写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob之前,必须获得cursor才能进行写入,那么如何获得Blob的cursor呢? 这需要你先插入一个empty的blob,这将创建一个blob的cursor,然后你再把这个empty的blob的cursor用select查询出来,这样通过两步操作

向Oracle数据库插入一条数据

这几天搞了一下Oracle数据库,可能用sql server习惯了,感觉好不方便.PL的界面友好度比sql server差远了 ,既然都收购了PL了 为什么不给它做好一点呢?各种不便.郁闷 向Oracle服务器插入一条数据 --不管什么格式通通用''引号引起来.不过INTEGER格式的还是别用引号 insert into T_SITE VALUES( 8, --注意主键别与表里的其他主键冲突了,唯一的 'Cms', 'Cms 网站', 'Cms', 2 , 'CMS', '广告内容管理系统' ,

Oracle数据库插入图片和读取图片

package com.basicSql.scroll_page; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import j