Informixの7.3 ISQL INSERT文 - テキスト/ 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
isqlの....
Load from desc.txt insert into crsabstr_rec;
3行(S)ロードされます。
|desc.txtです(パイプ)区切りテキストファイルとTXTのフィールドの数は、テーブル内のフィールドの数と一致する必要が
他のヒント
何のBLOB(BYTEまたはTEXT)リテラルのInformix Dynamic Serverの(IDS)ではありません。それは私へのフラストレーションの継続的な供給源です。私は数年のためのシステムの機能要求を持っていたが、それはそれは固定されますを意味し、内部的疼痛閾値に達することはありません - 。他のものは、高い優先順位を与えられます。
それにもかかわらず、人々のすべての時間を刺されています。
IDS 7.3(アップグレードすることを目指すべきである - それは十年後に2009年9月にサービスの外に出る程度)では、あなたはかなりのデータベースのテキストフィールドにデータを取得するためにCを使用して立ち往生しています。あなたは、BYTEまたはTEXTデータに関する情報を格納し、サーバにそれを渡すために承認されたCタイプ「loc_t」を使用する必要があります。
あなたはESQL / Cの例が必要な場合は、、国際Informixのユーザーグループのウェブサイトを見て、特にソフトウェアリポジトリに。とりわけ、あなたがオリジナルのSQLCMDプログラムを見つけることができます(同じ名前のMicrosoftのプログラムがあるジョニー・カム・最近)ソース形式で。また、私は「ビネット」をダビングプログラムのセットが含まれています。彼らはさまざまな方法でブロブを操作して、さまざまなシナリオに「loc_t」構造を使用する方法を示しするように設計されています。