• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > Oracle 插入超4000字节的CLOB字段的处理方法

Oracle 插入超4000字节的CLOB字段的处理方法

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了Oracle,CLOB,字段等相关知识,希望本文的分享对您有所帮助

我们可以通过创建单独的OracleCommand来进行指定的插入,即可获得成功,这里仅介绍插入clob类型的数据,blob与此类似,这里就不介绍了,下面介绍两种办法

在通过拼组sql语句来实现数据插入的应用中,我们很有可能会遇到需要插入大型数据的情况,例如,在oracle中需要插入字节数超过4000的字段内容时,我们如果通过简单的拼组sql语句来实现插入,显然就会出现问题,而在sql server中却没有这个限制,个人尝试了26w个字符的sql语句在sql server2005中执行,依旧可以插入数据,但是在oracle中插入超过4000个字符的内容则会报异常。

下面就此问题的解决办法,做一下小结:
我们可以通过创建单独的OracleCommand来进行指定的插入,即可获得成功,这里仅介绍插入clob类型的数据,blob与此类似,这里就不介绍了,下面介绍两种办法,均已验证:
第一种方法:使用组件System.Data.OracleClient的方法来实现,比较简单一些:
代码如下:
string conn = "Data Source=客户端指定连接字符串;User ID=user;Password=mima";
OracleConnection Con = new System.Data.OracleClient.OracleConnection(conn);
Con.Open();
string cmdText = "INSERT INTO GWEXPOINTLIST(id, name, content) VALUES(1, ‘name', :clob)";
OracleCommand cmd = new OracleCommand(cmdText, Con);
OracleParameter op = new OracleParameter("clob", OracleType.Clob);
op.Value = "超过4000字符的超常字符串";
cmd.Parameters.Add(op);
cmd.ExecuteNonQuery();
Con.Close();

第二种方法:使用组件Oracle.DataAccess的方法实现,可能用法稍微老了一些,但依然有效:
代码如下:
IDbCommand m_objCmd = new OracleCommand();
m_objCmd.CommandText = "INSERT INTO GWEXPOINTLIST(id, name, content) VALUES(1, ‘name', :clob)";
IDataParameterCollection m_arrParamter = m_objCmd.Parameters;
OracleClob clob = new OracleClob((OracleConnection)m_objConn);
OracleParameter objParam = new OracleParameter(‘clob', OracleDbType.Clob, clob, ParameterDirection.Input);

objParam.Value = "超过4000字符的超常字符串";
m_arrParamter.Insert(0, objParam);

int nRet = m_objCmd.ExecuteNonQuery();

当然,sql server同样也可以通过这样的方法来进行添加字符串,但是添加二进制文件的话,就只能用这种方式来添加了,因为需要读取文件的二进制流内容。
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅析drop user与delete from mysql.user的区别
  • mysql prompt的用法详解
  • 如何使用索引提高查询速度
  • 深入mysql创建自定义函数与存储过程的详解
  • JDBC数据库的使用操作总结
  • MySQL查询优化:LIMIT 1避免全表扫描提高查询效率
  • MySQL与Oracle的语法区别详细对比
  • 有关mysql中ROW_COUNT()的小例子
  • MySQL 百万级分页优化(Mysql千万级快速分页)
  • 从创建数据库到存储过程与用户自定义函数的小感

相关文章

  • 2017-05-11MySQL批量插入遇上唯一索引避免方法
  • 2018-12-05有关驱动类名的文章推荐3篇
  • 2017-05-11教你如何在windows与linux系统中设置MySQL数据库名、表名大小写敏感
  • 2017-05-11Mysql select语句设置默认值的方法
  • 2018-12-05一个SQL语句获得某人参与的帖子及在该帖得分总和
  • 2018-12-05将表数据生成Insert脚本 比较好用的生成插入语句的SQL脚本
  • 2018-12-05更新text字段时出现Row size too large报错应付措施
  • 2017-05-11mysql导入sql文件报错 ERROR 2013 2006 2002
  • 2018-12-05加快mydumper与myloader导出导入
  • 2018-12-05索引技术入门教程:8个索引技术教程推荐

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySql获取某个字段存在于哪个表的sql语句
    • 如何利用docker快速构建MySQL主从复制环境的详情介绍
    • Mysql索引详细介绍
    • mySQL中replace的用法
    • mysql常用基础操作语法(九)~~外连接查询【命令行模式】
    • Mac下安装mysql
    • 基于sql语句的一些常用语法积累总结
    • php下巧用select语句实现mysql分页查询
    • Mysql自动备份与还原方法
    • MySQL中的LOCATE和POSITION函数使用方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有