2011-11-10 124 views
3
CREATE TABLE updater 
(
    nzp_up SERIAL PRIMARY KEY, 
    version VARCHAR(50), 
    status INT, 
    report TEXT 
); 

INSERT INTO updater (version, status,report) values ('TestVersion' , 0,"123123123"); 

-617 SQL错误:必须在此上下文中提供Blob数据类型。如何在TEXT数据类型字段中插入数据? (Informix)

+0

您可以使用'LOAD'命令。请参考我在这里的类似问题:http://stackoverflow.com/questions/1074364/informix-7-3-isql-insert-statement-text-blob-clob-field-insert-error – CheeseConQueso

回答

1

使用|(管道)分隔文件,可以使用LOAD命令将值插入到blob &文本数据类型中。我在过去同样的问题 - 走在我的评论链接

0
INSERT INTO updater (version, status,report) 
values ('TestVersion' , 0,"123123123"); 

INSERT INTO updater (version, status,report) 
values ('TestVersion' , 0,'123123123'); 

在mySql.So同样的效果让我们尝试没有SQL双引号。

+0

我问了一些专业人士,他们告诉我们,不可能没有特定的工具(如C#中的流) – Oleg

+0

不幸的是,这不适用于Informix;它不支持TEXT或BYTE值的字符串文字表示。 –

1

见我的问题:Consistent method of inserting TEXT column to Informix database using JDBC and ODBC

似乎有些像ODBC驱动程序工具可以插入文本作为TEXT而像JDBC驱动程序必须使用PreparedStatent或其他技术。

+0

哈哈我有这个问题*加星* – CheeseConQueso

+0

一些驱动程序发现相关的错误消息,然后将SQL转换为使用占位符代替字符串字面值不工作BYTE或TEXT值,并将字符串文字转换为blob结构(一个loc_t结构)。其他人不会 - 不是无理的,因为涉及的解析是扭曲的。如果您对Informix有支持,请向Tech Support注册请求。这是20多年来的问题。 –

相关问题