[Dbi-interbase-devel] dialect (was: Re: DBD::InterBase patch)
Status: Beta
Brought to you by:
edpratomo
From: Edwin P. <ed....@co...> - 2000-08-16 01:59:18
|
Michael Samanov wrote: > EP> Michael Samanov wrote: > >> > >> $dbh->do("INSERT INTO ORDERS (user_id,comment) VALUES (?,?)", undef, 1, '') It's already fixed now. > >> nor even > >> $dbh->do('INSERT INTO ORDERS (user_id,comment) VALUES (1,"")') > > EP> This really suprised me. Exchanging the double quote with single quote > EP> works just fine: > $dbh->>do("INSERT INTO ORDERS (user_id, comment) VALUES (1,'')"); > EP> I'll fix this bug, thanks for the report. > > Warning: http://www.interbase.com/open/research/art_60dialects.html. Yes, this messy is because of dialect. Thanks for the link. > My DSN was > "DBI:InterBase:database=/usr/interbase/price.gdb;host=localhost;ib_dialect=3;ib_charset=WIN1251", > maybe old and new drivers use different conventions about the dialect? No. change the ib_dialect to 1, and it will work, but of course the new v 6.0 datatypes won't work instead :-( Try with isql with the dialect default set to 3. > Yet other thing: I can't get working the below statement neither with > old nor new driver. > "SELECT ... WHERE UPPER(GOODS_NAME COLLATE PXW_CYRL) like UPPER(? COLLATE PXW_CYRL)" > It says 2 <- prepare= undef at DBI.pm line 908. > !! ERROR: -1 'Dynamic SQL Error > -SQL error code = -804 > -Data type unknown I don't know the answer yet :-) Later, Edwin. |