I tried to change 

sqlParamColumnType="VARCHAR2(4000)" 

to 
sqlParamColumnType="LONG" 

but when insertion is made controller throws this exception :
ERROR sequoia.controller.recoverylog Failed to log insert into (..) 
caused by java.sql.SQLException: ORA-01438: value larger than specified 
precision allows for this column

Same think when I tried CLOB type

Surprising error with this kind of field !!
It seems recoverylog queries are not compatible with this field types :(


What can I try else ?


Thanks,


Pierre


-----Message d'origine-----
De : [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] la part de
Emmanuel Cecchet
Envoyé : mercredi 23 mai 2007 00:48
À : Sequoia general mailing list
Objet : Re: [Sequoia] Recoverylog on oracle


Hi Pierre,
> I try to use RecoveryLog on Oracle, tables are created on controller 
> initialization. 
> I replaced BIGINT, INT and VARCHAR from original types to 
> NUMBER(12),NUMBER(8) and VARCHAR2(xxx) with xxx empiricaly choosen from 
> ColumnName....
>
> My question is about recovery table, which -if I correctly undertood- stores 
> all SQL queries. 
> How sequoia can manage queries with LOB  fields ? (fields are liable to be 
> larger than maximum recovery table field length)
>   
RecoveryLogTable is the table that stores all SQL queries.
The column that store the statements is defined by sqlColumnName,sqlColumnType 
and sqlParamColumnType.
The PreparedStatement template is stored in sqlColumnName  and the values of 
the parameters are serialized (Hex64 for LOBs) into sqlParamColumn.

        <RecoveryLogTable 
                tableName="SEQ_RECOVERY" 
                logIdColumnType="NUMBER(12) NOT NULL"
                vloginColumnType="VARCHAR2(255) NOT NULL" 
        sqlColumnName="sqlStmt" 
                sqlColumnType="VARCHAR2(4000)NOT NULL"
        sqlParamColumnType="VARCHAR2(4000)"


These VARCHAR2(4000) are unlikely to be correct unless you can ensure 
that every statement never exceeds 4000 characters. Usually we use 
VARCHAR or TEXT which are unlimited in length. You might have to use a 
type like CLOB with Oracle.

Hope this helps,
Emmanuel

-- 
Emmanuel Cecchet
Chief Scientific Officer, Continuent

Blog: http://emanux.blogspot.com/
Open source: http://www.continuent.org
Corporate: http://www.continuent.com
Skype: emmanuel_cecchet
Cell: +33 687 342 685


_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia

This mail has originated outside your organization, either from an external 
partner or the Global Internet.
Keep this in mind if you answer this message.



This e-mail is intended only for the above addressee. It may contain privileged 
information.
If you are not the addressee you must not copy, distribute, disclose or use any 
of the information in it. 
If you have received it in error please delete it and immediately notify the 
sender.
Security Notice: all e-mail, sent to or from this address, may be accessed by 
someone other than the recipient, for system management and security reasons. 
This access is controlled under Regulation of security reasons.
This access is controlled under Regulation of Investigatory Powers Act 2000, 
Lawful Business Practises.



_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to