Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизDelphi+ODBC Visual Foxpro driver Найти похожие ветки
← →
Виталий Панасенко (2010-06-15 13:02) [0]Программа на Делфи, подключаемся к БД (dbf) Visual FoxPro через ODBC драйвер. Пытаюсь удалить данные из таблицы, затем ее упаковать.
[SRC]
cmdPack.CommandText := "delete from olorderh";
cmdPack.Execute();
cmdPack.CommandText := "delete from olorderd";
cmdPack.Execute();
cmdPack.CommandText := "pack olorderh";
cmdPack.Execute();
cmdPack.CommandText := "pack olorderd";
cmdPack.Execute();
[/SRC]
Данные удаляются, но упаковка не проходит по причине "Ашду in use". Возможно ли как-то решить эту проблему, или нужно для ADOConnection сделать Connected := False И лишь потом паковать? Т.е. если я к таблицам НЕ обращаюсь, упаковка проходит удачно. Но нужен именно такой сценарий - это транспортные файлы и после их обработки нужно их очистить для повторного использования
← →
sniknik © (2010-06-15 13:11) [1]> delete from olorderh
> pack olorderh
= zap olorderh
вроде бы, если не забыл.
← →
sniknik © (2010-06-15 13:12) [2]+ обработка, если есть выборки то делать не select, а use.
← →
Виталий Панасенко(дом) (2010-06-15 13:17) [3]zap не канает...для VFP драйвера
← →
sniknik © (2010-06-15 14:35) [4]> zap не канает...для VFP драйвера
странно весьма... т.к. это вариация pack, даже описываются в одном разделе.
← →
Anatoly Podgoretsky © (2010-06-15 14:35) [5]> Виталий Панасенко (15.06.2010 13:02:00) [0]
А почему не OLEDB?
← →
Anatoly Podgoretsky © (2010-06-15 15:07) [6]> sniknik (15.06.2010 14:35:04) [4]
Вообще то, что то в этом есть, я уже читал подобное.
← →
Виталий Панасенко (2010-06-15 15:25) [7]
> Anatoly Podgoretsky © (15.06.10 14:35) [5]
Одна учетная система создает системные DSN, с конкретными именами и драйверами. И уже с ними работает...И нужно организовать импорт/экспорт между двумя не связанными системами. Тут хранятся только транспортные данные.. Одна система выдала на гора, вторая втянула и, при удачном импорте, очистила таблицы
← →
Anatoly Podgoretsky © (2010-06-15 16:03) [8]> Виталий Панасенко (15.06.2010 15:25:07) [7]
А что постоянно создаются новые?
← →
Виталий Панасенко (2010-06-15 16:35) [9]да нет, только зачем что-то еще создавать..
вот, порылся, нашел направление..но вторую таблицу все равно не пакуетcmdPack.CommandText := "set exclusive on;"#13#10" delete from olorderh;"#13#10"pack;"#13#10"delete from olorderd;"#13#10" pack;"#13#10" set exclusive off;";
cmdPack.Execute();
← →
sniknik © (2010-06-15 16:48) [10]
Remarks
Changing the setting of SET EXCLUSIVE doesn"t change the status of previously opened tables. For example, if a table is opened with SET EXCLUSIVE set to ON, and SET EXCLUSIVE is later changed to OFF, the table retains its exclusive-use status.
SET EXCLUSIVE is scoped to the current data session.
← →
Правильный$Вася (2010-06-15 16:58) [11]
> это транспортные файлы и после их обработки нужно их очистить
> для повторного использования
в таких случаях лучше не насиловать систему, а просто стереть файлы и создать (скопировать) пустые нужной структуры
быстрее и без мороки
← →
Виталий Панасенко (2010-06-15 17:55) [12]
> Правильный$Вася (15.06.10 16:58) [11]
я об этом уже думал... их около 60 таблиц... но нужных мне много меньше
← →
Anatoly Podgoretsky © (2010-06-16 08:54) [13]> Виталий Панасенко (15.06.2010 17:55:12) [12]
И все таки попробуй OLEDB это прозрачно, сменить только строку подключения,
конечно если каких либо трюков не используешь. Обычно после этого начинает
работать.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.064 c