oracle的insert语句clob,.Net 操作 Oracle CLOB类型字段 INSERT 超长数据
如果仅仅在数据库中设置了类型为 CLOB 字段类型,使用普通的 INSERT 语句直接写入数据到数据库的话,它依然会将其视为 VARCHAR 类型数据,并最大长度为 4000 字符。超过该长度会报出字符串超长,写入数据失败的错误。
使用 Dapper 处理 CLOB 数据 INSERT
代码如下:
OracleConnection cnn = new OracleConnection("..数据库链接字符串..");
cnn.Open();
string content = "假定超过4000的超长字符串";
byte[] newValue = Encoding.Unicode.GetBytes(content); //这里一定要使用 Unicode 字符编码
OracleClob p_content = new OracleClob(cnn);
p_content.Write(newValue, 0, newValue.Length);
string sql = "INSERT INTO TABLE(CONTENT) VALUES(:content)";
DynamicParameters parameter = new DynamicParameters();
parameter.Add("content", p_content);
cnn.Execute(sql, parameter);
cnn.Close();
其实跟 Dapper 也没多大关系,在 .Net 中的 Oracle CLOB 需要以上特殊处理下,否则 Dapper 会将其视为普通字符串类型写入。
敲重点,如何 UPDATE CLOB 字段类型的数据
本来没有这一节文章内容的,我认为像 INSERT 同样的方式创建 SQL 参数传入就好了。实际上并不是,UPDATE 需要跟以往同样的方式,直接 string 传参就可以了,以下参考:
OracleConnection cnn = new OracleConnection("..数据库链接字符串..");
cnn.Open();
string content = "假定超过4000的超长字符串";
string sql = "UPDATE TABLE SET CONTENT = :content WHERE ID = :id";
DynamicParameters parameter = new DynamicParameters();
parameter.Add("id", 10001);
parameter.Add("content", content);
cnn.Execute(sql, parameter);
cnn.Close();
你没看错,它不需要再转换为 OracleClob 对象参数了,转换了反而会报错。
oracle的insert语句clob,.Net 操作 Oracle CLOB类型字段 INSERT 超长数据相关推荐
- oracle数据库查询需步骤,PLSQL操作Oracle数据库之单表查询SQL语句 看完你就知道了...
Orcale数据库作为商业级的大型关系型数据库管理系统,以其较高的安全性和强大的可移植性赢得了市场的广泛认可,而PLSQL作为操作Oracle的编程语言的最佳选择,掌握其编程原理及基本的sql操作是掌 ...
- ef导入oracle数据类型不正确,EF Core操作Oracle踩坑记
EF(Entity Framework)是微软标志性且成熟的ORM,从之前的.NET Framework时代就已经很常见了,但是给人的感觉还是偏"重",性能被不少人吐槽,倒是像Da ...
- oracle创建dblink语句_多个Oracle数据库联合做统计分析
近期完成了一个精益管理项目(提升员工渗透率),主要用于统计各个单位在统计时间段内的业务渗透情况.从下面的日程计划表可以看出是一个持续改进的项目,其中核心支持数据就是本项目所要描述的多个Oracle数据 ...
- oracle中SQL语句ge的用法,Oracle中SQL语句的几种用法
在诊断数据库系统性能的过程中,总会涉及到跟踪效率低下的SQL语句,Oracle数据库10g包含一种新的实用程序trcsess,它可以让您基于会话ID或模块名称之类的条件,有选择地从大量跟踪文件中抽取出 ...
- oracle中DDL语句什么意思,执行oracle DDL语句要注意的问题
在执行DDL语句的时候时候,实际上的伪代码如下(摘自: Expert.Oracle.Database.Architecture.9i.and.10g.Programming. Techniques.a ...
- oracle中sql语句拼接单引号,oracle 单引号拼凑和动态sql
a.单引号问题(') 在oracle中4个单引号''''代表一个单引号'.在动态sql拼凑中我们经常需要拼凑单引号.比如: 变量 中带单引号:IV_DATE_FORMAT:=''''||'YYYYMM ...
- sql查询语句,在表中的一个字段的部分数据中查看其他字段
select user_desc,guid from eip_uam_sync_user where user_desc in ('刘文强','陈松扬','李亨利','彭棱山','李茂森','邱晨文' ...
- Oracle INSERT 语句
-- Start 方法1 我估计有点 SQL 基础的人都会写 INSERT 语句.下面是 SQL 标准写法. INSERT INTO employees (employee_id, name) VAL ...
- Oracle数据库基本知识与SQL操作(1)
登录数据库方式: 超级管理员:system +密码 Conn sys/pwd as sysdba windows打开sql plus 命令:sqlplus /nolog 一.查 ...
最新文章
- setTimeout(0) 即将退役
- 设置SpringMVC默认首页启动
- POJ 3237 树链剖分学习(树链剖分小结)
- alertdialog android api 11,android – 设备api级别11的DialogFragments
- 需求说明 用户登陆功能的实现 c#
- 使用Nacos搭建微服务注册中心和配置中心(二)
- linux nona怎么用_Linux nano编辑器命令常用方法
- Unable to open log device '/dev/log/main' : No such file or directory it ...
- linkedlist 最难题 Insert into a Cyclic Sorted List
- linux 关闭系统自动更新,Linux下如何关闭自动更新
- 三菱plc恒压供水程序+威纶触摸屏程序 以控制水泵一用一备、一拖二、一拖三、一拖四、一拖四带小泵恒压功能
- 手机二维码软件及资源大汇总
- 使用diagrams.net(draw.io)绘制思维导图
- 【STM32】5分钟了解STM32的串口通信
- 在控制台程序中隐藏控制台窗口!
- ubuntu 查看usb设备
- cmd - 切换目录命令cd失效(切换目录失效)
- 03-JSX的语法规则
- 信创云“华山论剑” 五强鼎力谁与争锋?
- 【牛客网】 小白月赛16 J题 小雨坐地铁
热门文章
- Android 基本测试工具的使用
- Java_BigInteger
- 自学html和css,学习HTML和CSS的5大理由
- 深入了解HashMap
- Oracle 并行查询
- wrf 嵌套网格作用_在网格系统中使用响应列,嵌套列和偏移列 引导程序
- stringreader_Java StringReader markSupported()方法与示例
- ue4模型导出_MAYA动画导出以及导入UE4的方式、方法
- python重载模块_Python 3.0中重载模块
- python爬虫requests源码链家_Python爬虫之---爬链家