I managed to solve the issue, but there is a bug in DB.pm regarding Oracle: The quoting characters were not ok.


*** DB.pm.dist 2004-05-18 15:47:49.000000000 +0200 --- DB.pm 2004-05-18 15:52:35.000000000 +0200 *************** sub new { *** 138,144 **** $Self->{'DB::DirectBlob'} = 0; $Self->{'DB::QuoteSignle'} = '\''; $Self->{'DB::QuoteBack'} = 0; ! $Self->{'DB::QuoteSemicolon'} = '\''; $Self->{'DB::Attribute'} = { LongTruncOk => 1, LongReadLen => 100*1024, --- 138,144 ---- $Self->{'DB::DirectBlob'} = 0; $Self->{'DB::QuoteSignle'} = '\''; $Self->{'DB::QuoteBack'} = 0; ! $Self->{'DB::QuoteSemicolon'} = ''; $Self->{'DB::Attribute'} = { LongTruncOk => 1, LongReadLen => 100*1024,



In Oracle 9, there is no need to escape the semicolon or the backslash:

SQL> insert into test (text) values('Eins; zwei');

1 row created.

SQL> insert into test (text) values('Eins ''Zwei'' Drei');

1 row created.

SQL> insert into test (text) values('Eins\Zwei\Drei');

1 row created.

SQL> select text from test;

TEXT
--------------------------------------------------------------------------------
Eins; zwei
Eins 'Zwei' Drei
Eins\Zwei\Drei


Only the single brackets have to be escaped!


The second error was due to a wrong datatype in my schema. You can't search CLOBs without extra software (and an extra sql syntax). So I had to introduce some VARCHAR2(4000) (4000 is the maximum length vor variable char fields) to be able to construct an index on them for faster searches. I think 4000 chars is enough for A_FROM and A_SUBJECT.


Now my OTRS with oracle is up and running with one remaining problem:

Oracle SQL does not like literals greater than 4000 chars. So an insert of long attachment-mails in the article-tables does not work:

Message: ORA-01704: string literal too long (DBD ERROR: error possibly near <*>
indicator at char 171 in 'INSERT INTO article_attachment (article_id, filename
, content_type, content, create_time, create_by, change_time, change_by) VALUE
S (3, 'oci-error.png', 'image/png', [... rest omitted...]


There is a special CLOB handling method to upload such bigger data hunks but this would lead to a bigger change of your otrs code especially for Oracle.

Pascal






_______________________________________________ OTRS mailing list: dev - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/dev To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev

Reply via email to