cancel
Showing results for 
Search instead for 
Did you mean: 

CREATE TABLE WITH LOB COLOUMNS

Former Member
0 Kudos

I am trying to create tables with LOB (BLOB/CLOB) columns. I tried with this simple stmt in database studio,SQL editor:

CREATE TABLE TEMP(TESTC1 INTEGER, TESTC2 BLOB)

But i am getting this error:

Error Executing 'CREATE TABLE TEMP(TESTC1 INTEGER, TESTC2 BLOB NOT null)' [-4006] (at 42): Unknown domain name:BLOB.

Also when i am using the Database Studio wizard to create table i am not getting any LOB column option in the column definition.

Please help.

Regards

Raja

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

LONG is known in 7.6, 7.7 and even 7.8 to have a longer time for changing it.

CLOB/BLOB is not known in 7.6.

I think, this will help with the decision.

Elke

Former Member
0 Kudos

Thanks. Yes that makes the decision easier.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

LONG BYTE / BLOB is for binary data

LONG ASCII / UNICODE / CLOB is for normal character data

BTW: You do not really want to name your table TEMP?!?!

You know of the using TEMP to create temporary data

http://maxdb.sap.com/doc/7_6/6d/117c14d14811d2a97400a0c9449261/frameset.htm

(schema assignment of a table)?

Therefore I would recomment to use another name.

Elke

Former Member
0 Kudos

Hi Elke,

Yes, i can use any other table name, in fact i was just doing a test to see that am able to create the table with CLOB/BLOB data type and table name is not of any significance to me here.

However what is important to me here is the column data type. Because we are going to use the data type "BLOB/CLOB/...." etc in our coding and its kind of going to get hard coded in the code to from a db library. This library will be used by our application to access the MaxDB.

If today we write the code using LONG BYTE/ASCII then tomorrow we may have to change it for supporting BLOB/CLOB. Also since the first version of MaxDB that we might be using in our application is surely going to be greater than 7.6 i don't think i should be using LONG BYTE/ASCII.

Please let me know your opinion.

Regards

Raj

Former Member
0 Kudos

Hello,

what MaxDB Version do you use?

For minor version of MaxDB the keyword is not BLOB but LONG BYTE (CLOB <=> LONG ASCII)

Please try

CREATE TABLE TEMP(TESTC1 INTEGER, TESTC2 LONG BYTE)

Best Regards

Wolfgang

Former Member
0 Kudos

Hi Wolfgang,

Yes "LONG BYTE" worked.

But I am using MaxDB community edition 7.6.3 downloaded from sap site and expecting blob/clob to work.

In case it doesn't work, can you point me to the documents eliciting the difference between clob/clob and long byte.

Regards

Raja

Former Member
0 Kudos

Hello,

the key words CLOB and BLOB are valid for MaxDB versions > 7.6.

http://maxdb.sap.com/doc/7_6/d1/2864403899970ae10000000a155106/content.htm

> a LONG value can be either a binary large object (BLOB) or a character large object (CLOB).

http://maxdb.sap.com/doc/7_7/45/3333809faf2b34e10000000a1553f7/content.htm

Best Regards

Wolfgang

Former Member
0 Kudos

Does that mean BLOB/CLOB will be valid for 7.6.3 also or only 7.7.0 and onwards ?

One more question is: Can "LONG BYTE" be used to meet the requirement for both binary and character type of data ? Isn't there any distinction between the character and binray type of data for MaxDB version < 7.6.

Regards

Raja

Former Member
0 Kudos

Hello,

CLOB and BLOB are valid for MaxDB version > 7.6. This means 7.7, 7.8 ...

How long the syntax LONG BYTE and LONG ASCII are kept in version > 7.6 for compatibility I cannot say.

To store byte and character data in the same column you could test with a BLOB/LONG BYTE column.

One issue might be the terminating 0 character of strings.

Best Regards

Wolfgang