How to Insert/Update data type "TEXT" in IDS 11.7
Posted in 2011
Topics: Storage & Space Management, Stored Procedures & SPL, Server Administration, Data Types & Schema Design, Versions, Editions & End-of-Life
Hi ,
I am facing a error while inserting the data type "text" in IDS 11.7
In many sceneraio i am getting different errors.
I tried in DBACCESS/ISQL application with the insert statement as i know it
dont works ,but eventhough i tried from the PHP application i am getting the
same error ,but every thing works in the open admin tools.
Could any from the group help me to resolve this issue .
informix@HR-Server:~> onstat -
IBM Informix Dynamic Server Version 11.70.UC2E -- On-Line -- Up 00:00:34 --152348 Kbytes
informix@HR-Server:~> onstat -d
IBM Informix Dynamic Server Version 11.70.UC2E -- On-Line -- Up 00:01:05 --152348 Kbytes
Dbspaces
address number flags fchunk nchunks pgsize flags owner name
4ae7c818 1 0x60001 1 1 2048 N BA informix rootdbs
4c6e21c8 2 0x40001 2 1 2048 N BA informix datadbs
4c6e2338 3 0x42001 3 1 2048 N TBA informix temp1dbs
4c6e24a8 4 0x42001 4 1 2048 N TBA informix temp2dbs
4c6e2618 5 0x42001 5 1 2048 N TBA informix temp3dbs
4c6e2788 6 0x42001 6 1 2048 N TBA informix temp4dbs
4c6e28f8 7 0x40001 7 1 2048 N BA informix logdbs
4c6e2a68 8 0x40001 8 1 2048 N BA informix phydbs
4c6e2bd8 9 0x60011 9 1 2048 N BBA informix blob1
9 active, 2047 maximum
Note: For BLOB chunks, the number of free pages shown is out of date.
Run 'onstat -d update' for current stats.
Chunks
address chunk/dbs offset size free bpages flags pathname
4ae7c988 1 1 0 1250000 712430 PO-B-- /informix/chunks/rootdbs
4c6e2d48 2 2 0 10240000 9868205 PO-B-- /informix/chunks/datadbs
4c6e3018 3 3 0 512000 511947 PO-B-- /informix/chunks/temp1dbs
4c6e3200 4 4 0 512000 511947 PO-B-- /informix/chunks/temp2dbs
4c6e33e8 5 5 0 512000 511947 PO-B-- /informix/chunks/temp3dbs
4c6e35d0 6 6 0 512000 511947 PO-B-- /informix/chunks/temp4dbs
4c6e37b8 7 7 0 10240000 10239947 PO-B-- /informix/chunks/logdbs
4c6e39a0 8 8 0 1024000 1023947 PO-B-- /informix/chunks/phydbs
4c6e3b88 9 9 0 1024000 ~1019951 1024000 POBB-- /informix/chunks/blob1
9 active, 32766 maximum
NOTE: The values in the "size" and "free" columns for DBspace chunks are
displayed in terms of "pgsize" of the DBspace to which they belong.
Expanded chunk capacity mode: always
THESE ARE THE VARIOUS CASE I TRIED TO INSERT THE VALUES.....
CASE -1
create table "informix".emp
(emp_name text);
INSERT INTO emp (emp_name)
VALUES
(CAST('super' AS text));
9634: No cast from char to text.
CASE -2
create table "informix".emp
(emp_name text);
INSERT INTO emp (emp_name)
VALUES
('super');
617: A blob data type must be supplied within this context.
CASE -3
create table "informix".emp1
(emp_name1 BYTE IN blob1);
INSERT INTO emp1 (emp_name1)
VALUES
('super');
617: A blob data type must be supplied within this context.
CASE-4
create table "informix".emp1
(emp_name1 BLOB)
PUT emp_name1 IN (blob1);
INSERT INTO emp1 (emp_name1)
VALUES
(FILETOBLOB('super'));
9821: Space (blob1) is not an sbspace.
But blob1 is an sbspace
informix@HR-Server:~> onstat -d | grep -i blob1
4c6e2bd8 9 0x60011 9 1 2048 N BBA informix blob1
4c6e3b88 9 9 0 1024000 ~1019951 1024000 POBB-- /informix/chunks/blob1
informix@HR-Server:~> onstat -c | grep -i blob1
SBSPACENAME sbspace,blob1
If i am getting any help from peoples it will be great as it very urgent.
Oat is preparing the INSERT statement, finding that there is a TEXT type
column and using one of the proper methods to insert data to a TEXT BLOB,
dbaccess and PHP are not doing that so they get errors. You can write your
own ESQL/C program to do this. There is a demo program in
$INFORMIXDIR/demo/esqlc/blobload.ec that uses the LOCFNAME method. You can
also take a look at my dbcopy utility which uses the LOCUSER method. There
are four methods: LOCFILE (pass a file handle to a file containing the blob
data), LOCFNAME (pass a path to the file containing the blob column data),
LOCMEMORY (load the blob data into a memory location and pass that address),
and LOCUSER (provide a set of functions to produce the data for the blob
column). LOCUSER is the fastest method when I tested it several years ago,
LOCFILE and LOCFNAME next fastest (assuming the blob data is already on disk
in a file), and oddly enough LOCMEMORY was slowest.
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
Blog: http://informix-myview.blogspot.com/
Disclaimer: Please keep in mind that my own opinions are my own opinions and
do not reflect on my employer, Advanced DataTools, the IIUG, nor any other
organization with which I am associated either explicitly, implicitly, or by
inference. Neither do those opinions reflect those of other individuals
affiliated with any entity with which I am affiliated nor those of the
entities themselves.
On Tue, Aug 2, 2011 at 9:57 AM, KARTHIK RAJAN
<karthikrajan1983@gmail.com>wrote:
> Hi ,
>
> I am facing a error while inserting the data type "text" in IDS 11.7
> In many sceneraio i am getting different errors.
> I tried in DBACCESS/ISQL application with the insert statement as i know it
> dont works ,but eventhough i tried from the PHP application i am getting
> the
> same error ,but every thing works in the open admin tools.
>
> Could any from the group help me to resolve this issue .
>
> informix@HR-Server:~> onstat -
>
> IBM Informix Dynamic Server Version 11.70.UC2E -- On-Line -- Up 00:00:34 --> 152348 Kbytes
>
> informix@HR-Server:~> onstat -d
>
> IBM Informix Dynamic Server Version 11.70.UC2E -- On-Line -- Up 00:01:05 --> 152348 Kbytes
>
> Dbspaces
> address number flags fchunk nchunks pgsize flags owner name
> 4ae7c818 1 0x60001 1 1 2048 N BA informix rootdbs
> 4c6e21c8 2 0x40001 2 1 2048 N BA informix datadbs
> 4c6e2338 3 0x42001 3 1 2048 N TBA informix temp1dbs
> 4c6e24a8 4 0x42001 4 1 2048 N TBA informix temp2dbs
> 4c6e2618 5 0x42001 5 1 2048 N TBA informix temp3dbs
> 4c6e2788 6 0x42001 6 1 2048 N TBA informix temp4dbs
> 4c6e28f8 7 0x40001 7 1 2048 N BA informix logdbs
> 4c6e2a68 8 0x40001 8 1 2048 N BA informix phydbs
> 4c6e2bd8 9 0x60011 9 1 2048 N BBA informix blob1
> 9 active, 2047 maximum
>
> Note: For BLOB chunks, the number of free pages shown is out of date.
>
> Run 'onstat -d update' for current stats.
>
> Chunks
> address chunk/dbs offset size free bpages flags pathname
> 4ae7c988 1 1 0 1250000 712430 PO-B-- /informix/chunks/rootdbs
> 4c6e2d48 2 2 0 10240000 9868205 PO-B-- /informix/chunks/datadbs
> 4c6e3018 3 3 0 512000 511947 PO-B-- /informix/chunks/temp1dbs
> 4c6e3200 4 4 0 512000 511947 PO-B-- /informix/chunks/temp2dbs
> 4c6e33e8 5 5 0 512000 511947 PO-B-- /informix/chunks/temp3dbs
> 4c6e35d0 6 6 0 512000 511947 PO-B-- /informix/chunks/temp4dbs
> 4c6e37b8 7 7 0 10240000 10239947 PO-B-- /informix/chunks/logdbs
> 4c6e39a0 8 8 0 1024000 1023947 PO-B-- /informix/chunks/phydbs
> 4c6e3b88 9 9 0 1024000 ~1019951 1024000 POBB-- /informix/chunks/blob1
> 9 active, 32766 maximum
>
> NOTE: The values in the "size" and "free" columns for DBspace chunks are
>
> displayed in terms of "pgsize" of the DBspace to which they belong.
>
> Expanded chunk capacity mode: always
>
> THESE ARE THE VARIOUS CASE I TRIED TO INSERT THE VALUES.....
>
> CASE -1
>
> create table "informix".emp
> (emp_name text);
>
> INSERT INTO emp (emp_name)
> VALUES
> (CAST('super' AS text));>
> 9634: No cast from char to text.>
> CASE -2
>
> create table "informix".emp
> (emp_name text);
>
> INSERT INTO emp (emp_name)
> VALUES
> ('super');>
> 617: A blob data type must be supplied within this context.>
> CASE -3
>
> create table "informix".emp1
> (emp_name1 BYTE IN blob1);
>
> INSERT INTO emp1 (emp_name1)
> VALUES
> ('super');>
> 617: A blob data type must be supplied within this context.>
> CASE-4
>
> create table "informix".emp1
> (emp_name1 BLOB)
> PUT emp_name1 IN (blob1);
>
> INSERT INTO emp1 (emp_name1)
> VALUES
> (FILETOBLOB('super'));>
> 9821: Space (blob1) is not an sbspace.>
> But blob1 is an sbspace
> informix@HR-Server:~> onstat -d | grep -i blob1
> 4c6e2bd8 9 0x60011 9 1 2048 N BBA informix blob1
> 4c6e3b88 9 9 0 1024000 ~1019951 1024000 POBB-- /informix/chunks/blob1
>
> informix@HR-Server:~> onstat -c | grep -i blob1
> SBSPACENAME sbspace,blob1>
> If i am getting any help from peoples it will be great as it very urgent.
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--20cf30780c44ca492604a9872f75
Related threads
- IDS 10 table-level restore
- Informix Development Webinar December 11, 2007
- ontape -p/r with changed ROOTPATH
- Migrate from HP PA-RISC to HP ITANIUM by ontape