Текущий архив: 2003.11.13;
Скачать: CL | DM;
ВнизСоздание таблиц в InterBase Найти похожие ветки
← →
Guerrillero (2003-10-19 23:44) [0]Создание таблиц в InterBase
Здраствуйте ! Есть SQL запрос создания таблицы: "CREATE TABLE %S (GKEY INTEGER NOT NULL, GName SMALLINT, GFoot VARCHAR(40))"
Если я выполняю его в IBExpert, то таблица создается. При создании же во время выполнения программы выскакивает ошибка:
Project Makkk.exe raised exception class EIBInterBaseError with message "unsuccessful metadata update
STORE RDB$FIELDS failed
lock conflict on no wait transaction". Process stopped. Use Step or Run to continue.
В чем моя ошибка ?
← →
Guerrillero (2003-10-19 23:45) [1]Продолжение.
Код создания такой:
const
SText = "CREATE TABLE %S (GKEY INTEGER NOT NULL, GName SMALLINT, GFoot VARCHAR(40))"
procedure TfrmGung_Ntan.CreateTable(const ATableName,
SQLText: string);
var
NewTable: string;
begin
qCopyTables.Close;
if not tranCopyTables.InTransaction then
tranCopyTables.StartTransaction;
NewTable := ATableName + "2000"
qCopyTables.SQL.Text := Format(SQLText,[NewTable]);
qCopyTables.ExecSQL;
tranCopyTables.Commit;
end;
Вызов CreateTable("NTuk",SText);
← →
Guerrillero (2003-10-20 10:37) [2]UP
← →
Johnmen (2003-10-20 11:35) [3]Убери старт тр-ии и коммит...
← →
kaif (2003-10-20 13:26) [4]Создание метаданных должно делаться в отдельной транзакции, которую затем желательно сразу подтверждать. смешивать работу с данными и метаданными в пределах одной транзакции, как правило, не следует.
Страницы: 1 вся ветка
Текущий архив: 2003.11.13;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.037 c