Subject Re: [ib-support] Unexpected Record/Key Deleted Message
Author Duleep
Hello.

I have used BDE for over 5 years and it has been a nightmare. ibo - yes for
the last 1 year as part of
a product which is still in beta. I have 3.6Dg and i must say that upgrades
on ibo has caused us a
lot of code re-work.

Duleep

At 12:31 PM 17/08/2001 +0200, you wrote:
>I must admit that I have never tried the BDE-equivalent in D6, but my
>experience with the BDE and D3/D5 is that it is good enough
>for desktop databases like Paradox/dBase. Client/Server (C/S) databases
>like Interbase is something completely different and the BDE
>is not fit for this.
>
>I would recommend you to try out IBO (www.ibobjects.com). Jason Wharton
>has made IBO a brilliant tool winning the Best Database
>Connectivity Award from Delphi Informant every year, and has a good
>licensing scheme. Moreover, he has tried to make some of the
>components very similar to the BDE in appearance so that a transition
>should be simple (if you do everything correctly (which you
>may not do without reading the instructions), you could convert your
>program within minutes - I think Jason converted a demo program
>in 10 secs a year ago or so).
>
>I know nothing about IBX and FIB, but would expect them to be better than
>the BDE as well.
>
>In short, the BDE is supposed to work with Interbase, but often fails -
>and whenever it works it takes ages to complete, whereas IBO
>works and contains logic to speed up the execution if used in a non-C/S way!
>
>Recreating your db probably failed because recreating a db does not fix
>the BDE! ;o)
>
>If you want to stick to the BDE, hopefully someone else doing the same can
>solve your problem,
>Set
>
>rstitt@... wrote:
>
> > I am having a bit of a (very weird) problem, that appears to be related to
> > a primary index.
> >
> > Namely, I get a "Record/Key Deleted" error (BDE code 8708 [$22][$4]) when I
> > try to go into "edit" mode on certain records in the table (and they REALLY
> > DO exist!!).
> >
> > I have used "gbak" to export & re-import the file, I have removed all
> > constraints (other than the primary key), dropped all non-key columns,
> > moved from a very old version of IB to the newer one (likewise, the Delphi
> > 6 version of BDE as well), etc. I dropped all other tables and all
> > non-essential rows from this table.
> >
> > The only thing that seems to allow things to work is either:
> >
> > 1) Issuing a "update ... set ... where ..." statement to update the
> > "Assoc_Id" column
> > 2) Dropping/rebuilding the index
> >
> > What I need to know is: how & why did this index get messed up? What is
> > wrong (perhaps with BDE??) that made this surface? Why didn't re-creating
> > the db fix it??
> >
> > Thanks,
> >
> > ...Rob Stitt
> >
> > Here's the "gbak" output from dumping the database, followed by the
> > database's metadata--nothing seemed unusual:
> >
> > D:\IB Database>"c:\Program Files\Borland\InterBase\bin\gbak.exe" -user
> > sysdba -pas xxxxxx -b -v test.gdb test-g2.dat
> > gbak: readied database test.gdb for backup
> > gbak: creating file test-g2.dat
> > gbak: starting transaction
> > gbak: database test.gdb has a page size of 1024 bytes.
> > gbak: writing domains
> > gbak: writing domain RDB$136
> > gbak: writing domain RDB$137
> > gbak: writing domain RDB$138
> > gbak: writing domain RDB$139
> > gbak: writing shadow files
> > gbak: writing tables
> > gbak: writing table USERID_TBL
> > gbak: writing column ASSOC_ID
> > gbak: writing column USERID_QUALIFIER
> > gbak: writing column USERID
> > gbak: writing column SYSTEM_ID
> > gbak: writing functions
> > gbak: writing types
> > gbak: writing filters
> > gbak: writing id generators
> > gbak: writing generator PASSWORD_NUMBER value 39560
> > gbak: writing generator DIRECTORY_NUMBER value 9
> > gbak: writing stored procedures
> > gbak: writing exceptions
> > gbak: writing Character Sets
> > gbak: writing Collations
> > gbak: writing index RDB$PRIMARY11
> > gbak: writing data for table USERID_TBL
> > gbak: 13 records written
> > gbak: writing triggers
> > gbak: writing trigger messages
> > gbak: writing privilege for user SYSDBA
> > gbak: writing privilege for user SYSDBA
> > gbak: writing privilege for user SYSDBA
> > gbak: writing privilege for user SYSDBA
> > gbak: writing privilege for user SYSDBA
> > gbak: writing privilege for user PUBLIC
> > gbak: writing privilege for user SYSDBA
> > gbak: writing privilege for user SYSDBA
> > gbak: writing privilege for user SYSDBA
> > gbak: writing privilege for user SYSDBA
> > gbak: writing privilege for user SYSDBA
> > gbak: writing table constraints
> > gbak: writing constraint INTEG_42
> > gbak: writing constraint INTEG_43
> > gbak: writing constraint INTEG_44
> > gbak: writing constraint INTEG_45
> > gbak: writing constraint UID_PKEY
> > gbak: writing referential constraints
> > gbak: writing check constraints
> > gbak: writing SQL roles
> > gbak: closing file, committing, and finishing. 2560 bytes written
> > ===============
> > /* Table: USERID_TBL, Owner: SYSDBA */
> >
> > CREATE TABLE USERID_TBL
> > (
> > ASSOC_ID VARCHAR(10) NOT NULL,
> > SYSTEM_ID VARCHAR(15) NOT NULL,
> > USERID VARCHAR(20) NOT NULL,
> > USERID_QUALIFIER VARCHAR(20) NOT NULL,
> > CONSTRAINT UID_PKEY PRIMARY KEY (ASSOC_ID, SYSTEM_ID, USERID,
> > USERID_QUALIFIER)
> > );
> >
> >
> > To unsubscribe from this group, send an email to:
> > ib-support-unsubscribe@egroups.com
> >
> >
> >
> > Your use of Yahoo! Groups is subject to
> <http://docs.yahoo.com/info/terms/>http://docs.yahoo.com/info/terms/
>
>
>Yahoo! Groups
>Sponsor<http://rd.yahoo.com/M=207641.1565480.3121573.1269402/D=egroupweb/S=1705007709:HM/A=765263/R=0/*http://www.verisign.com/cgi-bin/go.cgi?a=b153340270003000>
>
>
>To unsubscribe from this group, send an email to:
>ib-support-unsubscribe@egroups.com
>
>
>
>Your use of Yahoo! Groups is subject to the
><http://docs.yahoo.com/info/terms/>Yahoo! Terms of Service.