|
Как забрать данные из старой базы, FOX выдает ошибку.
|
|||
---|---|---|---|
#18+
Додумался же я не с простыми таблицами, а с базами работать! Год было нормально, изменения если и требовались, то не касались таблиц. Высылал пользователям новый ЕХЕ-шник с базами без таблиц, которые оставались старыми. А теперь появилась необходимость добавить новые столбцы в таблицы. Результат - новый ЕХЕ-шник не может работать со старой базой, чтобы перекачать данные в новую. А новая база не может подгрузить старые таблицы, где еще нет новых столбцов. Тогда как добраться до данных? В среде-то я могу делать что хочу, но пользователи далеко и их много, 20 и более и в разных городах. проблему могу разрешить, если они мне вышлют свои таблицы, но тогда им нужно ждать моих изменений и не работать, а это время. Короче, это не выход. И переходить надо им одновременно. И что делать? Выход-то есть какой-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 05:57 |
|
Как забрать данные из старой базы, FOX выдает ошибку.
|
|||
---|---|---|---|
#18+
А что, copy to ... или комбинация select...from... + insert into ... уже не проходят?! В общем так: Берешь и добавляешь кнопочку на форму "Конвертация баз". Пользователи жмут эту кнопочку. В результате создаются таблицы с новой структурой и в них переносятся старые данные по copy to ... или комбинацией select...from... + insert into ... , а старые стираются за ненадобностью... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 08:19 |
|
Как забрать данные из старой базы, FOX выдает ошибку.
|
|||
---|---|---|---|
#18+
> Результат - новый ЕХЕ-шник не может работать со старой базой, чтобы перекачать данные в новую. А новая база не может подгрузить старые таблицы, где еще нет новых столбцов. Что-то не понятно мне как такое возможно. Если только не указывать специально наличие этих новых столбцов, например, в формах или select'ах. Можно написать дополнительную утилиту преобразования данных, которая работала бы с данными из разных вариантов баз, и переслать ее пользователям... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 08:27 |
|
Как забрать данные из старой базы, FOX выдает ошибку.
|
|||
---|---|---|---|
#18+
прочитай в HELP про команду ALTER TABLE и все будет ясно. как изменить таблицы программным путем! только не забудь в программу зименения таблиц вставить проверки путем проверки наличия изменных столбцов(чтобы случайно несделать повторно или вывалится по ошибке при уже внесенных изменениях) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 08:55 |
|
Как забрать данные из старой базы, FOX выдает ошибку.
|
|||
---|---|---|---|
#18+
Почему-то новый ЕХЕ-шник(даже со старой программой, просто перестроенный) не хочет открывать (вываливавется ошибка) старую базу, которая у них. Ту старую базу, которая была у меня, он прекрасно открывает. А их старая база открывается нормально только в том случае, если они присылают базу мне, я строю ЕХЕ с ней. При этом никаких изменений в программе я не делаю. Речь пока веду о построении нового ЕХЕ с прежним исходным кодом и работе со старой базой. Единственое, что я проделал со своей старой базой, так это добавил один столбец в таблице, а потом его удалил. То есть по структуре база осталась прежней. Если бы я этого не делал, то программа бы работала и с моей старой базой. Но почему так? Я же не оставил этот несчастный столбец на месте, потом же удалил. Выходит так, что после того как пользователи начали работать с твоей программой все изменения в таблицы надо вносить только программно? Иначе будет как у меня? или я не прав? Хочу разобраться сначала со старой программой (не измененной), а потом уже с новой. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 09:27 |
|
Как забрать данные из старой базы, FOX выдает ошибку.
|
|||
---|---|---|---|
#18+
1) Вовсе не обязательно при запуске своего EXE тут же пытаться открыть какие-либо таблицы. Судя по описанию, Вы именно это и делаете где-то в стартовом модуле 2) Удалить, не значит удалить физически. В FoxPro под термином "удалить" обычно понимают "пометить запись как удаленную". Т.е. установить специальную метку на запись. Дело в том, что стурктура таблиц включенных в базу данных частично дублируется в контейнере базы данны. Т.е. когда Вы создали новое поле информация о нем была добавлена в контейнер базы данных. Когда Вы удалили это поле из таблицы информация о нем в контейнере базы данных по прежнему осталась, но просто была помечена как удаленная. Для очистки контейнера базы данных надо дать команду PACK DATABASE 3) Надеюсь, Вы не включали ни контейнер базы данных, ни модифицируемые таблицы внутрь EXE. Т.е. если открыть окно проекта, то слева от имени базы данных и имен таблиц должен стоять перечеркнутый кружок. Если такого кружка нет, то исключите базу данных или таблицу из проекта нажав правой клавишей мыши на их имени и выбрав пункт контекстного меню EXCLUDE. После этого Вам надо будет поставлять пользователям кроме самого EXE еще и собственно базу данных (файлы с расширением DBC, DCT, DCX) и сами таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 09:44 |
|
Как забрать данные из старой базы, FOX выдает ошибку.
|
|||
---|---|---|---|
#18+
>А их старая база открывается нормально >только в том случае, если они присылают >базу мне, я строю ЕХЕ с ней. ЕХАНЫЙ БАБАЙ - ССЫЛОК НЕЯВНЫХ ПОНАДЕЛИ ВИЗУАЛИЗАТОРЫ... Вообще-то правилами хорошего тона в FOXE всегда являлось явное слежение за областями... Надо попользоваться - открыл, не надо закрыл... + еще и проверка на ранее открытые и состояние среды - от многих проблем это избавляет... ИМНО - еxe файл должен генериться отдельно и без DBF вообще, а при запуске проверять их наличие по путям и сообщения выводить... Т.е он вообще от структуры баз не должен зависеть и от того в какой каталог установлен тоже... А вот привязка дистрибутива к аппаратуре вещь нужная и полезная ;-)) Copyright мой ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 11:34 |
|
Как забрать данные из старой базы, FOX выдает ошибку.
|
|||
---|---|---|---|
#18+
Помогите восстановить данные. Где находятся архивы? Я работал с базой данных и нечайно удалил очень большую базу данных помогите как все вернуть это очень важно((( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2011, 17:23 |
|
Как забрать данные из старой базы, FOX выдает ошибку.
|
|||
---|---|---|---|
#18+
Где находятся архивы (если они есть вообще), знает только ваша программа. Зайдите в нее, просмотрите все пункты меню. Может, где-нибудь и найдете слово "архив". Архивы, вообще, могут быть где угодно и их может не быть совсем, если это не предусмотрено. Поищите по дискам компьютера файлы с расширением .dbf. В конце концов обратитесь к системному администратору. Удаленные файлы иногда можно восстановить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2011, 18:21 |
|
Как забрать данные из старой базы, FOX выдает ошибку.
|
|||
---|---|---|---|
#18+
>Где находятся архивы? На архивном носителе :) >Я работал с базой данных и нечайно удалил очень большую базу Готовьте вазелин :( >помогите как все вернуть это очень важно((( Если на раздел после сноса базы ничего не писалось (что, кмк, маловероятно), можно попытаться воспользоваться программами для восстановления данных (в "вопрос-ответ"е не так давно пара тем была). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2011, 18:22 |
|
|
start [/forum/topic.php?fid=41&msg=32506825&tid=1584332]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 133ms |
0 / 0 |