-
Вот уж досталось мне наследие :( Не думал, что придется вернуться в каменный век... FoxPro Кто поможет SQL-но очистить таблицу DBF? А то DML delete from TABLE_NAME вызывает только пометку удаляемых записей, но не физическую их смерть.
-
С помощью SQL никак. SQL не работает на уровне контейнера.
-
> Вот уж досталось мне наследие
В своей беде ты не одинок - многие несут такой же крест)
-
Что-то проклевывается. Типа
"delete from TABLE_NAME"
"pack TABLE_NAME"
Только между ними что-то надо предпринять типа закрытия коннекции или коммития транзакции (а то ругается, что DBF занят).
-
Нормально отработало. Надо только между DML закрыть и открыть соединение (вот уж танцы с бубнами).
-
zap TABLE_NAME... если работать через VFP драйвер
-
"pack TABLE_NAME" и "zap TABLE_NAME" не являются SQL командами, они просто выдаются интерпритатору FoxPro для обработки. Кстати, поскольку очистить надо всю таблицу, то второе правильно, без всякого "delete from TABLE_NAME".
Интерпритатору FoxPro можно передать любую команду, включая SQL, который также включен в Интерпритатор FoxPro. Надо просто понять, что в данном случае ведется прямая работа с интерпритатором, а не с SQL
-
Чем не понравилось Delete Table + Create Table ?
-
> Anatoly Podgoretsky © (27.08.08 00:49) [6] > Надо просто понять, что в данном случае ведется прямая работа > с интерпритатором, а не с SQL
В данном случае ведется работа с провайдером VFPOLEDB . Спасибо за наводку на ценную мысль: надо бы попробовать, как будет работать приложение на "чистой" машине - без установленного FoxPro, а только с провайдером.
-
А, кстати, DBF-овский SQL параметров не поддерживает? Мне не удалось добиться :(
-
> Виталий Панасенко(дом) (26.08.08 20:11) [5] > zap TABLE_NAME... если работать через VFP драйвер
zap TABLE_NAME через PleDb провайдер: Command contains unrecognized phrase/keyword.
-
> Курдль (27.08.08 12:52) [10]
Там, в VFPOLEDB? много еще чего не работает или работает не шибко прямо. Если хочешь иметь полноценный корректный доступ к фоксовым премудростям, нужно пользовать полноценный VFP ран-тайм модуль. Его можно инсталлировать отдельно как самостоятельный продукт, т.е. целиком MSVFP ради этого устанавливать не нужно.
Дельфийская обертка к VFPRTL тоже существует, зовется foxauto
-
> Сергей М. © (27.08.08 14:22) [11] > Если хочешь иметь полноценный корректный доступ к фоксовым > премудростям, нужно пользовать полноценный VFP ран-тайм > модуль.
Глаза б мои его не видели! :) Имею ущербную приблуду на FoxPro, которую надо вкорячить... простите, ИНТЕГРИРОВАТЬ, в существующую автоматизированную систему. Имею MS VS 2005. А "VFP ран-тайм модуль" чем юзается? COM-ом? Я-то по рабоче-крестьянски из ADO.NET достукиваюсь...
-
> "VFP ран-тайм модуль" чем юзается? COM-ом?
Ага. Это и есть СOM-сервер, только некоторым образом хитрозадый - просто так средствами тривиального вызова CreateComObject до него не достучаться, требуется довольно изощренная "прокладка", коей foxauto и является.
Автор foxauto, видимо, как раз заботился о горемыках типа тебя)
-
> Курдль (27.08.08 12:52) [10]
А ODBC Visual FoxPro Driver нельзя юзать? Через OLE DB получилось только через анус: Delete from, отключить ADOConnection, подключить и pack.. без отключения/подключения получаю File in use
-
> Виталий Панасенко © (27.08.08 15:27) [14] > > > > Курдль (27.08.08 12:52) [10] > > А ODBC Visual FoxPro Driver нельзя юзать? Через OLE DB получилось > только через анус: Delete from, отключить ADOConnection, > подключить и pack.. без отключения/подключения получаю > File in use
Мне надо извлекать туеву хучу мелких базочек из разных папочек. (Между прочим, это дорогостоящее промышленное решение, растиражированное не на одну крупную компанию!). А ODBC сначала надо настраивать. Или нет? Программно я этого делать не умею. Зато OLEDB подсовываешь путь к DBF-папке и все!
P.S. У меня Aqua Data Studio настроена на доступ к тестовым базам FoxPro через ODBC. Так там тоже без переподключения обнулить не удается.
-
DRIVER=Microsoft Visual FoxPro Driver (*.dbf);UID=;PWD=;SourceDB=z:\all;SourceType=DBF;Exclusive=No;BackgroundFetch=Ye s;Collate=Machine;Null=Yes;Deleted=Yes; Обрати внимание на SourceDB Это строка подключения ADOCOnnection
-
Да и, кажись, можно тупо указать SourceDB=c:\, а затем "плясать" точно, так же, как и от алиаса БДЕ.. select * from 'c:\dbf\dbf.dbf' и т.д. в том числе и zap 'c:\dbf\dbf.dbf'
-
select канает, ZAP - нет
-
> Виталий Панасенко © (27.08.08 15:58) [18] > > select канает, ZAP - нет >
С какого перепугу zap обязан "канать" ? FoxODBC-драйвер не обязан интерпретировать всякую фоксовую лабуду, не имеющую отношения к SQL92/99 и иже с ними
|