I deleted the tables and recreated them in Oracle Mode and soon I extracted
the catalog, but in the file extracted the create table still appears in
Internal Mode.
Why?
I use the following instructions:
./loadercli -d OSPMI -u dba,dba
USE USER PSF PSF
SQLMODE ORACLE
CATALOGEXTRACT USER OUTSTREAM FILE '/ict/app/sdbN/PsfCata1'
Even if a table was created in ORACLE mode, the loader converts it in
internal one.
Is it a behaviour wanted? If it's so, what about the limitation of row
lenght in Internal Mode? That's my problem.
Thanks,
Matteo
----- Original Message -----
From: "Matteo Gattoni" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; "Zabach, Elke" <[EMAIL PROTECTED]>
Sent: Friday, November 05, 2004 3:56 PM
Subject: Re: CATALOGLOAD Row too long
> Hello,
> thanks for reply.
> What does it mean "change sqlmode for table create to oracle"? What do I
> need to do?
> Maybe, modify the file extracted manually and transform the table
creation
> into Oracle Mode.
> Infact in the file, it is in internal mode:
>
> SQLMODE INTERNAL
> //
> CREATE TABLE "ACTIVITY_DYN_INFO"
> (
> "E_ACT_K_ACTIVITY" Fixed (9,0) NOT NULL,
> "E_DINF_TYP_K_DYNINFO_TYPE" Fixed (6,0) NOT
NULL,
> "E_DINF_VAL_K_DYNINFO_VALUE" Fixed (6,0),
> "Q_VALUE" Fixed (9,0),
> "C_VALUE" Varchar (4000) ASCII,
> "D_VALUE" Timestamp,
> "T_VALUE" Fixed (12,3),
> "D_START" Timestamp NOT NULL,
> "K_PROG" Fixed (3,0),
> "O_MODIFY" Timestamp NOT NULL,
> "E_OPERATOR_K_OPERATOR" Varchar (20) ASCII NOT
> NULL,
> "C_NOTE" Varchar (4000) ASCII,
> "D_END" Timestamp,
> "E_DB_TYP_K_DATABASE_TYPE" Fixed (6,0) NOT NULL,
> "K_ACTIVITY_DYNINFO" Fixed (9,0) NOT NULL,
> PRIMARY KEY ("K_ACTIVITY_DYNINFO", "E_DB_TYP_K_DATABASE_TYPE")
> )
> //
> How could I make this changing automatic? I would like to create an
> automatic export/import process.
>
> I created the table in SQLMODE ORACLE. How could I have changed it into
> Internal then? Why Do I find it in Internal mode?
>
> If the mode are totally equivalent (as more than one time I find in
> documentation and mails - only syntaxes differ), why there will be such a
> difference between internal and oracle mode? Are there other differences?
>
> Thanks,
> Matteo
>
>
> > ----- Original Message -----
> > From: "Zabach, Elke" <[EMAIL PROTECTED]>
> > To: "'Matteo Gattoni'" <[EMAIL PROTECTED]>;
<[EMAIL PROTECTED]>
> > Sent: Friday, November 05, 2004 3:13 PM
> > Subject: AW: CATALOGLOAD Row too long
> >
> >
> > > Matteo Gattoni wrote:
> > > >
> > > > I'm trying to extract the catalog from a user and load it into
anothe
> > > > user of the same database instance in MaxDB 7.5.0.19.
> > > > When I load the extracted catalog,
> > > >
> > > > ./loadercli -d TEST -u DBA,DBA -E 0
> > > > USE USER TEST TES
> > > > SQLMODE ORACLE
> > > > CATALOGLOAD USER INSTREAM FILE 'filename'
> > > >
> > > > I receive the error
> > > > [MySQL MaxDB][LIBSQLOD SO][MaxDB] Syntax error or access
> violation;-2000
> > > > POS(575) Row too long
> > > >
> > > > and watching in file loader.prt, I have
> > > >
> > > > CATALOGLOAD USER INSTREAM FILE '/ict/app/sdbN/PsfCata1'
> > > > // *
> > > > // M EXECUTE PACKAGE TO TRANSFORM CATALOG
> > > > // *
> > > > CREATE TABLE "ACTIVITY_DYN_INFO" ( "E_ACT_K_ACTIVITY"
> > Fixed
> > > > (9,0) NOT NULL, "E_DINF_TYP_K_DYNINFO_TYPE" Fixed
> (6,0)
> > > > NOT NULL, "E_DINF_VAL_K_DYNINFO_VALUE" Fixed (6,0),
> > > > "Q_VALUE" Fixed (9,0), "C_VALUE" Varchar
> > > > (4000) ASCII, "D_VALUE" Timestamp, "T_VALUE"
> > > > Fixed (12,3), "D_START" Timestamp NOT NULL,
"K_PROG"
> > > > Fixed (3,0), "O_MODIFY" Timestamp NOT NULL,
> > > > "E_OPERATOR_K_OPERATOR" Varchar (20) ASCII NOT
NULL,
> > > > "C_NOTE" Varchar (4000) ASCII, "D_END"
> > > > Timestamp, "E_DB_TYP_K_DATABASE_TYPE" Fixed (6,0)
NOT
> > > > NULL, "K_ACTIVITY_DYNINFO" Fixed (9,0) NOT NULL,
> > PRIMARY
> > > > KEY ("K_ACTIVITY_DYNINFO", "E_DB_TYP_K_DATABASE_TYPE") )
> > > > // *
> > > > // E -25392: '[MySQL MaxDB][LIBSQLOD SO][MaxDB] Syntax error or
> > access
> > > > violation;-2000 POS(575) Row too long'
> > > > // M Number of tables transformed : 0
> > > > // *
> > > > // M Number of views transformed : 0
> > > > // *
> > > > // M Number of synonyms transformed : 0
> > > > // *
> > > > // M UNLOAD TRANSFORMATIONPACKAGE
> > > > x'010000000E5E8B41A5350000EC8AF23B00017F0000000000'
> > > > // *
> > > > // M START 20041105 00121345
> > > >
> > > > Looking into the file that contains the catalog extracted, I see
that
> > for
> > > > every instruction is explained the SQLMODE. Declaring the SQLMODE
> ORACLE
> > > > before extract is just useless, isn't it?
> > > >
> > >
> > > The table concerned was created using SQLMODE Oracle. Then it is
> possible
> > to create a table whose rows (if every column is filled to its maximum
> > length) would exceed the maximum row length of 8088.
> > > Each insert/update then has to check for the maximum length of a row.
> > > With sqlmode internal the check is done during creation/altering of a
> > table and not during insert/update --> if you used Oracle before and now
> use
> > internal the behaviour can be explained.
> > >
> > > _-> change sqlmode for table create to oracle
> > >
> > > Elke
> > > SAP Labs Berlin
> > >
> > > > Thanks,
> > > > Matteo
> > >
> >
>
>
> --
> MaxDB Discussion Mailing List
> For list archives: http://lists.mysql.com/maxdb
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>
>
--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]