2011-11-10 143 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多年來的問題。 –

相關問題