2009-07-02 247 views
1

是一种解决方法吗?Informix 7.3 isql插入语句 - text/blob/clob字段插入错误

我想一些数据插入到表,其结构为:

Column name   Type         Nulls 

crs_no    char(12)        no 
cat     char(4)         no 
pr_cat    char(1)         yes 
pr_sch    char(1)         yes 
abstr    text         yes 

类型最后一个字段读“文”,而是试图插入此表时,我得到这个错误:

insert into crsabstr_rec values ("COMS110","UG09","Y","Y","CHEESE"); 

    617: A blob data type must be supplied within this context. 
Error in line 1 
Near character position 66 

所以这个领域是某种斑点明显,但不会采取插入(或更新)。通常,这些记录被插入到GUI表单中,然后C代码处理插入。

回答

2

....

Load from desc.txt insert into crsabstr_rec; 

3行(多个)加载。

desc.txt is a | (管道)分隔的文本文件和txt中的字段数必须与表中的字段数匹配

4

Informix Dynamic Server(IDS)中没有blob(BYTE或TEXT)文字,也没有IDS 9.00和更高版本中的CLOB或BLOB类型。这对我来说是一个持续的挫折来源;我已经在系统中提供了多年的功能请求,但它从未在内部达到痛苦阈值,这意味着它会得到修复 - 其他事情会得到更高的优先级。

尽管如此,它始终咬人。

在IDS 7.3中(您应该着眼于升级 - 十年后它会在2009年9月停止服务),您几乎坚持使用C将数据导入数据库的TEXT字段。您必须使用批准的C类型'loc_t'来存储有关BYTE或TEXT数据的信息,并将其传递给服务器。

如果您需要ESQL/C中的示例,请查看International Informix User Group网站,尤其是Software Repository。除其他外,您将以源代码的形式找到最初的SQLCMD程序(微软的同名程序是Johnny-Come-Lately)。它还包括一套我配音“小插曲”的节目;他们以各种方式操作blob,并且旨在展示如何在各种场景中使用'loc_t'结构。

在iSQL
+0

坏消息...我认为我在网上找到的所有关于此主题的内容都过时了,但如果你告诉我这仍然是这种情况,那就这样吧。感谢有关该信息和informix服务结束的信息 – CheeseConQueso 2009-07-02 14:55:52