Узнать путь файла в DBC | |
---|---|
Коматозник |
Уважаемые коллеги ! Нужно узнать полный путь файла в ДБЦ. При выполнении ЕХЕ модуля. Как ? В ДБЦ прописан файл из какого-то каталога, которого уже нет, когда делаю РЕМОВЕ ТАБЛЕ _НАМЕ_, программа пишет, что такого файла нет. Заранее всем спасибо.
|
Re: Узнать путь файла в DBC | |
---|---|
B3ersn3V |
? FullPath(DBGETPROP("myTable","TABLE","Path"),FullPath("disk:\path\myDatabase.dbc"))
|
Re: Узнать путь файла в DBC | |
---|---|
Naomi Сообщений: 1796 Дата регистрации: 09.10.2003 |
?dbc()
|
Re: Узнать путь файла в DBC | |
---|---|
Коматозник |
Все это, конечно, хорошо, спасибо, но проблема остается, вот, смотрите, есть каталог
С:\С_12, в нем ЕЕ_0012.DBC, в ней должен быть файл DPP.DBF, и он есть, но где-то путь прописан следующий : С:\_1\BUFF, а у меня и каталога такого уже нет, хотя путь должен быть C:\C_12, когда я в программе делаю REMOVE TABLE DPP, она пишет, что такого файла или каталога нету, ну что-то в этом роде. Когда я открываю в VFP базу и делаю DISPLAY TABLES, то все видно, какой файл и с каким путем включен в ДБЦ. Вот я и хочу для каждого файла в ДБЦ получить его полный путь, чтобы принимать дальнейшие решения. Короче говоря, нужна функция, которая работает аналогично DISPLAY TABLES, и выдает некий массив, с которым можно программно работать. Заранее всем признателен. |
Re: Узнать путь файла в DBC | |
---|---|
Naomi Сообщений: 1796 Дата регистрации: 09.10.2003 |
Do you mean ADBObjects()? And then loop through array and check DBF()?
|
Re: Узнать путь файла в DBC | |
---|---|
Владимир Максимов Сообщений: 14095 Откуда: Москва Дата регистрации: 02.09.2000 |
Не, такое не получиться.
Дело в том, что в файле DBC храниться относительный путь к включенным в него таблицам. Относительно самого файла DBC. Т.е. там просто нет абсолютного пути вроде С:\_1\BUFF. Предположим, что твой файл DBC находится в папке С:\С_12\ЕЕ_0012.DBC В эту базу данных была включена некая таблица из папки С:\_1\BUFF. Так вот, в самом контейнере будет прописан такой путь доступа ..\_1\BUFF Это то, что вернет функция DBGETPROP("myTable","TABLE","Path"). Используя функцию FullPath() как показал B3ersn3V можно получить полный путь доступа. Ну, а полный список объектов, включенных в DBC можно получить через ADBObjects() и далее крутить в цикле для уточнения реквизитов таблиц. |
Re: Узнать путь файла в DBC | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi Владимир!
Может и полный путь быть - например если таблица и dbc изначально были на разных дисках P.S. Никогда не понимал в чём глубокий смысл распихивать dbc и его таблицы по разным папкам. 2 Коматозник А VALIDATE DATABASE RECOVER не спасёт? Учитывая конечно что это разовая операция, и не из программы регулярно выполняемая а тобой лично из среды! ------------------ WBR, Igor |
© 2000-2024 Fox Club  |