Icon View Incident Report

Minor Minor
Reported By: Ralf Mimoun
Reported On: 4/18/2005
For: Version 4.19 Build 1
# 2028 Setting TDBISAMDatabase KeepTablesOpen to True Can Cause Access Denied Error During ALTER TABLE

I use a routine since aeons to update table structures. First, I check if the current version of a table is smaller than it should be. If it is, I start a SQL statement.

That means that I access that table via UserMajorVersion/UserMinorVersion to get the version. I use a temporary TDBISAMTable object to do that. It will be freed after I get the version number, and I don't open that table to get the version number.

Now the problem: if I try a ALTER TABLE after getting the version number and freeing the temporary object, I get an error #11013. That only happens when "KeepTablesOpen" of the database is set to true. If it is false, everything runs fine.

Comments Comments and Workarounds
The workaround is to set KeepTablesOpen to False before executing any SQL ALTER TABLE statements.

Resolution Resolution
Fixed Problem on 4/27/2005 in version 4.20 build 1

Products Affected Products Affected
DBISAM CLX Client-Server
DBISAM CLX Client-Server with Source
DBISAM CLX Standard with Source
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard with Source