Board index » delphi » SQL Server 7 update problems

SQL Server 7 update problems

I cannot update records in a SQL Server 7 table when it is run from
within Delphi (4 or 5). An SQL hourglass appears and the system appears
to be locked, although I suspect it would time out given enough time (I
watched it for 10 minutes before giving up). The SQL Server Enterprise
Manager shows that Delphi is blocking the update. If the program is run
outside of Delphi, everything works as expected, even with multiple
instances of the program, editing the same records, etc.

I have tried both the ODBC and MSSQL drivers, in Delphi 4 and 5, with
BDE 5.01. CachedUpdates has the same effect when the updates are
applied. What am I missing here? Must be something simple...

Ted

 

Re:SQL Server 7 update problems


I have more info on the problem with updates in MSSQL 7 - I discovered that
some tables can be updated, others not. Seems to have something to do with
the number of records - for one table, I can successfully update a record
in a result set that has 166 records, but not 167. The record width is 88,
including 16 bytes for a TEXT field.

If I remove the TEXT field(s) from a table, or convert them to
VARCHAR(8000) or similar, I can update with no problems, apparently
regardless of table size. However, due to the 8060 row width limitation,
records that are wider than that (due to the VARCHAR fields) cannot be
saved. This is a severe limitation that I cannot abide by for this
database. Any way around this?

Still trying to get a handle on what is going on...

Ted

Re:SQL Server 7 update problems


Ted,

The 8060 byte row width is cast in concrete. Perhaps you can break up the
varchar fields into multiple columns, or investigate the text data type
which can handle some 2 billion characters.

Quote
Ted Blue <tedb...@bluestarcorp.com> wrote in message

news:386D1350.E735BA5@bluestarcorp.com...
Quote
> I have more info on the problem with updates in MSSQL 7 - I discovered
that
> some tables can be updated, others not. Seems to have something to do with
> the number of records - for one table, I can successfully update a record
> in a result set that has 166 records, but not 167. The record width is 88,
> including 16 bytes for a TEXT field.

> If I remove the TEXT field(s) from a table, or convert them to
> VARCHAR(8000) or similar, I can update with no problems, apparently
> regardless of table size. However, due to the 8060 row width limitation,
> records that are wider than that (due to the VARCHAR fields) cannot be
> saved. This is a severe limitation that I cannot abide by for this
> database. Any way around this?

> Still trying to get a handle on what is going on...

> Ted

Other Threads