Visual Foxpro или VFP 9: подключение базы данных к сети с диска NAS

Я очень новичок в VFP9, и мне нужно переместить все файлы базы данных для 6-пользовательской программы на общий сетевой диск Netgear ReadyNas Duo V2. Я переместил файлы .dbc .dcx .dct .dbf .cdx и .fpt в Nas (\ Nas-a0-3d-36 \ Daimler), но я не знаю, что ввести в командное окно, чтобы навсегда сообщить программа, как найти путь к диску Nas. Насколько мне известно, ни один из путей не был жестко запрограммирован. Извините, я не смог ответить на предыдущие предложения, поэтому мне пришлось начать заново. DRapp - Спасибо за вашу помощь, когда я последовал вашим инструкциям и набрал команду browse for objectType = "Table", результаты в мемо-поле: 15 маленьких прямоугольников, затем написано members.dbf без пути, затем еще 7 прямоугольников и mbnumber и еще одна коробка. Перекомпилирован и теперь при запуске выдает ошибку «Найти базу данных» «создание экземпляра объекта курсора ...».

Большое спасибо


person Optorock    schedule 22.08.2012    source источник
comment
Да, я забыл другую обратную косую черту в пути Nas, которая должна была быть \\ Nas-a0-3d-36 \ Daimler   -  person Optorock    schedule 22.08.2012


Ответы (3)


Программа сохранит путь к базе данных где-нибудь, например, в реестре Windows, в файле .INI или файле ресурсов foxpro. Каким был предыдущий путь? Выполните поиск на диске и в реестре.

person Paul McNett    schedule 22.08.2012
comment
Большое спасибо всем, кто внес свой вклад в это. К сожалению, мой клиент отказался от сетевого проекта, поэтому эта информация может быть использована в будущем, но не в обозримом будущем. Я надеюсь, что это поможет кому-то с аналогичной проблемой, чтобы все ваши усилия и помощь не были потрачены впустую. .С Уважением - person Optorock; 22.01.2013

Просмотр DBC позволяет увидеть все таблицы (DBF), составляющие базу данных. DBC также перечислит все другие вспомогательные файлы, такие как индексы (CDX) и мемо-файлы (fpt).

Если вы убедитесь, что все файлы, перечисленные в DBC, были скопированы в новое место, включая DBC, DCX и DCT, вы, вероятно, в порядке.

После копирования файлов вы можете запустить VFP, перейти в командное окно и попробовать следующее:

 CD C:\mydirectory\mysubdir  &&navigate to new directory
 OPEN DATABASE myVFPDatabase EXCLUSIVE  &&Open the database exclusively
 VALIDATE DATABASE    &&This will display a message on the VFP screen to verify the database is OK

Поскольку приложение не находит базу данных, вам придется просмотреть код команды «ОТКРЫТЬ ДАННЫЕ». Один из способов сделать это - использовать VFP «Панель задач -> Фильтр» для поиска этой строки в проекте.

Как только вы найдете код, который открывает базу данных, измените путь, перекомпилируйте и протестируйте приложение.

person Jerry    schedule 22.08.2012
comment
Спасибо, Джерри, я получаю действительный контейнер базы данных. Я просмотрел dbc, и он показал имена таблиц, но я не могу сказать, отсутствуют ли какие-либо, и я не видел никаких ссылок между таблицами. - person Optorock; 23.08.2012
comment
Если вы получили сообщение о том, что контейнер действителен, значит, все готово. Если возникла проблема, в сообщении будет указано, в чем проблема. Когда вы просматриваете DBC и видите имена таблиц, они должны совпадать с тем, что вы видите, если вы используете Windows Explorer для просмотра файлов в каталоге. Кроме того, после ОТКРЫТИЯ БАЗЫ ДАННЫХ mydatabase вы можете выполнить ИЗМЕНИТЬ БАЗУ ДАННЫХ, чтобы увидеть визуальное представление таблиц и отношений в базе данных. Кроме того, если вы сочтете этот пост полезным, не забудьте отметить его как ответ и т. Д. - person Jerry; 23.08.2012
comment
Мне удалось сравнить оригинал базы данных с тем, который у меня есть сейчас, после выполнения команды проверки восстановления, и были пропущены некоторые индексы, поэтому я воссоздал их как идентичные оригиналу, и он выглядит хорошо, кроме тех, которые я добавил не совсем в том же порядке. Теперь я могу запустить программу, если я обойду ошибку о том, что массив продаж недействителен с самого начала, и теперь получаю доступ к некоторым базам данных на Nas нормально, но он полон ошибок, когда я пробую другие функции, связанные с продажами которые все работали до проверки. - person Optorock; 24.08.2012

Как уже отмечалось, все операторы USE могут быть жестко закодированы для пути, что, по вашему мнению, не так. Еще одна вещь, которую следует учитывать, это то, что все формы могут иметь курсоры в среде данных, которые могут быть жестко запрограммированы или относительно исправлены.

Связано с предложением Пола: приложение может использовать команду SET PATH, чтобы сообщить программам, где искать файлы. Кроме того, это может зависеть от файла CONFIG.FPW (внутреннего для EXE или внешнего в папке приложения или направленного параметром, переданным в EXE), в котором может быть настроен ПУТЬ. Некоторые программы также зависят от ярлыка приложения в Windows для папки StartIn.

Или это может быть комбинация всех этих опций.

person Rick Schummer    schedule 01.09.2012
comment
Спасибо всем, кто помогал в этом. - person Optorock; 22.01.2013