informix插入text类型和blob、clob类型数据

informix插入text类型和blob、clob类型数据

一、 text类型插入

前提条件(byte类型也一样只不过数据内容是十六进制)

  1. 准备好一个文本文件,内容用 | 符号分割(分割是指每个字段的内容,下面是我的txt文件内容,主要有两个字段id,content(text类型))
23| -- 这就代表一个字段 id
test -- 这代表第二个字段内容 content 以此类推
  • 文件内容不能有开始和结束的空白
  • 语法(将sql写好以后保存为一个sql文件)
load from 'C:\users\test.txt' -- 这是文件路径
insert into all_type(id,content);
  • 在informix 你要插入的服务器实例的命令行执行这个sql文件,我的schema是test_db;
    dbaccess test_db < 'C:\users\load.sql'

byte插入的时候要去除十六进制前面的0x,要不然插入报错“不是规范的十六进制”

二、blob\clob 类型数据插入

1.语法

insert into all_type(id,blob) values (24,filetoblob('C:\users\a.png','server'))

2 filetoblob(lvarchar,char)这是一个数据自带的函数,返回值是一个blob,blob类型主要是保存图片类型数据的,所以我第一个参数是图片路径,第二个参数‘server’,官方文档对这个函数的解释是从a.png文件中创建一个 blob值;那个server应该就是创建的blob值了,我的理解是这样的。

  • 执行sql,如果你没有为当前的服务器实例设置sbspace会报错
    invalid default sbspace name(sbspace)
  • 解决方法:在当前服务器实例的命令行 执行以下语句
  • onspaces -c -S sbspace2 -p D:\informix\test.dbs -o 100 -s 2000 -Df " LOGGING=ON"
  • 首先要创建test.dbs这个文件,文件名一般是服务器名,文件类型是.dbs,然后到/informix/etc
    文件夹下找到ONCONFIG.test这个文件,进去修改SBSPACENAME 为sbspace2 保存后重启数据库
    (我当时把SYSSBSPACENAME 也改为sbspace2 了,按理说是不需要改的)
  • 重启之后继续执行sql就没问题了

我的数据库版本是windows版的,linux文件结构也和Windows版差不多,大胆尝试吧,我也是尝试了好久才找到插入数据的方法。linux版本重装有可能会失败,我就是linux转win的

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值