Subject Re: [ib-support] Re: Record not found ???
Author Guillermo Najar-Arreola
Thomas,

> let Martijn know so he can fix it.

I don't have Matijn's beta driver yet. I'm using the dbExpress driver of D6
UP2. What I meant when mentioned I communicated with Martijn, was that I
asked for the Firebird driver (even beta), and the answer was I should wait
'till the final version is ready (are you there Martijn) ?

> I don't know why you should have to change it. Numeric 18,0 should get=20
> mapped to
> a FmtBCD and you should have no problem accessing it as a Float.

I had OID fields originally defined as DOUBLE PRECITION; in this news group
(I'll try to check if the post is still here) I was recomended not to use
this data type for OID primary keys, since for larger values I could have
uniqness problems with rounded numbers. I was suggested to use Numeric(x,0)
and store there a unique ID; I decided to do it and use TGUID to generate my
numbers... then, the problems I already described with the mapped
TFmtBCDFields came out: garbled OID data with '=' and '?' characters,
"record not found" errors when a simple update was done, etc.

So, I see 2 alternatives:
1- Change my database and switch from numeric(18,0) to varchar(18) on all my
OID fields, and pay degraded performance with string key fields instead of
numeric :-(
2- Wait until the Firebird driver is ready.

Since I can't stop my project, I'll follow #1 unless any other less costly
alternative comes ... any suggestion is very wellcome and appreciated.

Thank you,
Guillermo
www.gnsis.net



"Thomas Miller" <tmiller@...> escribi� en el mensaje
news:3D925207.5030400@......
> I don't know why you should have to change it. Numeric 18,0 should get=20
> mapped to
> a FmtBCD and you should have no problem accessing it as a Float. If
you=20
> do, then
> let Martijn know so he can fix it. I reported several problems with
the=20
> MetaData
> stuff and he had it all fixed within 48 hrs. I have been waiting over=20
> a year for Borland
> to fix some bugs in the Oracle driver.
>
> gnajar wrote:
>
> >Thank you Thomas,
> >
> >Yes, by an email Martijn mentioned me that the driver should be ready=20
> >soon. My problem is that I'm kind of stucked in my project with this=20
> >Numeric(18,0)-FmtBCD issue, since all my Primary Keys in all tables=20
> >are of this type and with this problem. I had them DOUBLE PRECISION=20
> >before, but to avoid the precision or rounding problems I switched to=20
> >Numeric(18,0) which gets the GUID I generate from Delphi for every=20
> >record OID. Changing the OID type again would be painful...
> >
> >Regards,
> >Guillermo
> >www.gnsis.net
> >
> >
> >--- In ib-support@y..., Thomas Miller <tmiller@b...> wrote:
> >=20=20
> >
> >>Have you tried the new FB driver yet? Martijn is making lots of=20
> >>progress on it and it should
> >>be ready for prime time shortly. It just needs some pounding at=20
> >>=20=20=20=20
> >>
> >this point.
> >=20=20
> >
> >>Guillermo Najar-Arreola wrote:
> >>
> >>=20=20=20=20
> >>
> >>>Hi,
> >>>I'm using Firebird 1.0, with dbExpress (Interbase driver) - Delphi=20
> >>>=20=20=20=20=20=20
> >>>
> >6 UP2. I
> >=20=20
> >
> >>>know that the UP2 Interbase driver has some bugs related to BCD=20
> >>>=20=20=20=20=20=20
> >>>
> >data fields
> >=20=20
> >
> >>>that come from Firebird types like Numeric(18,0). I just want to=20
> >>>=20=20=20=20=20=20
> >>>
> >check wtih
> >=20=20
> >
> >>>you if it is another driver bug or I'm doing something wrong.
> >>>For a table where I have random values on a OID Primary Key field
> >>>Numeric(18,0) , I was happy inserting,deleting, updating from my=20
> >>>=20=20=20=20=20=20
> >>>
> >Delphi
> >=20=20
> >
> >>>Client. Then, I had to change key values so each record started at=20
> >>>=20=20=20=20=20=20
> >>>
> >OID
> >=20=20
> >
> >>>289349199046620160, to follow with 289349199046620161,=20
> >>>=20=20=20=20=20=20
> >>>
> >289349199046620162,
> >=20=20
> >
> >>>289349199046620163 and so on.
> >>>I made the change using a stored proc in Firebird, and then=20
> >>>=20=20=20=20=20=20
> >>>
> >committed
> >=20=20
> >
> >>>succesfully those changes. The funny thing is that now in my=20
> >>>=20=20=20=20=20=20
> >>>
> >Delphi app
> >=20=20
> >
> >>>after ApplyUpdates on any update I want to do over the changed=20
> >>>=20=20=20=20=20=20
> >>>
> >table, I get
> >=20=20
> >
> >>>"Record not found or changed by another user".
> >>>Checking the SQL Monitor, the SQL UPDATE statement is generated=20
> >>>=20=20=20=20=20=20
> >>>
> >correctly
> >=20=20
> >
> >>>when I modified field "DescripcionServicio" on the SERVICIO table:
> >>>
> >>>update "SERVICIO" set
> >>>"DescripcionServicio" =3D ?
> >>>where
> >>>"OID_SERVICIO" =3D ?
> >>>
> >>>The only theing I see is that for other tables where OID records=20
> >>>=20=20=20=20=20=20
> >>>
> >are random
> >=20=20
> >
> >>>numbers, everything works fine. But when the OID has a pattern of=20
> >>>=20=20=20=20=20=20
> >>>
> >say 16
> >=20=20
> >
> >>>digits, and just the last 2 changed from record to record, I get=20
> >>>=20=20=20=20=20=20
> >>>
> >this error
> >=20=20
> >
> >>>from the corresponding SQLDataSet-Provider-ClientDataSet.
> >>=20=20=20=20
> >>
> >>>Any help?
> >>>Guillermo N=E1jar
> >>>www.gnsis.net
> >>>
> >>>
> >>>
> >>>
> >>>To unsubscribe from this group, send an email to:
> >>>ib-support-unsubscribe@e...
> >>>
> >>>
> >>>
> >>>Your use of Yahoo! Groups is subject to=20
> >>>=20=20=20=20=20=20
> >>>
> >http://docs.yahoo.com/info/terms/=20
> >=20=20
> >
> >>>
> >>>=20
> >>>
> >>>=20=20=20=20=20=20
> >>>
> >>--=20
> >>Thomas Miller
> >>Delphi Client/Server Certified Developer
> >>BSS Accounting & Distribution Software
> >>BSS Enterprise Accounting FrameWork
> >>
> >>http://www.bss-software.com
> >>=20=20=20=20
> >>
> >
> >
> >
> >To unsubscribe from this group, send an email to:
> >ib-support-unsubscribe@egroups.com
> >
> >=20
> >
> >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
=
> =20
> >
> >
> >
> >=20=20
> >
>
> --=20
> Thomas Miller
> Delphi Client/Server Certified Developer
> BSS Accounting & Distribution Software
> BSS Enterprise Accounting FrameWork
>
> http://www.bss-software.com
>
>
>
> [Non-text portions of this message have been removed]
>
>
>
> To unsubscribe from this group, send an email to:
> ib-support-unsubscribe@egroups.com
>
> =20
>
> Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/=20
>
>
>