powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как забрать данные из старой базы, FOX выдает ошибку.
10 сообщений из 10, страница 1 из 1
Как забрать данные из старой базы, FOX выдает ошибку.
    #32506755
Max4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Додумался же я не с простыми таблицами, а с базами работать!
Год было нормально, изменения если и требовались, то не касались таблиц.
Высылал пользователям новый ЕХЕ-шник с базами без таблиц, которые оставались старыми.
А теперь появилась необходимость добавить новые столбцы в таблицы.
Результат - новый ЕХЕ-шник не может работать со старой базой, чтобы перекачать
данные в новую. А новая база не может подгрузить
старые таблицы, где еще нет новых столбцов. Тогда как добраться до данных?
В среде-то я могу делать что хочу, но пользователи далеко и их много, 20 и более и в разных городах.
проблему могу разрешить, если они мне вышлют свои таблицы, но тогда им нужно ждать
моих изменений и не работать, а это время. Короче, это не выход.
И переходить надо им одновременно.
И что делать? Выход-то есть какой-то?
...
Рейтинг: 0 / 0
Как забрать данные из старой базы, FOX выдает ошибку.
    #32506794
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, copy to ... или комбинация select...from... + insert into ... уже не проходят?!
В общем так:
Берешь и добавляешь кнопочку на форму "Конвертация баз".
Пользователи жмут эту кнопочку. В результате создаются таблицы с новой структурой и в них переносятся старые данные по copy to ... или комбинацией select...from... + insert into ... , а старые стираются за ненадобностью...
...
Рейтинг: 0 / 0
Как забрать данные из старой базы, FOX выдает ошибку.
    #32506800
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Результат - новый ЕХЕ-шник не может работать со старой базой, чтобы перекачать данные в новую. А новая база не может подгрузить старые таблицы, где еще нет новых столбцов.

Что-то не понятно мне как такое возможно. Если только не указывать специально наличие этих новых столбцов, например, в формах или select'ах. Можно написать дополнительную утилиту преобразования данных, которая работала бы с данными из разных вариантов баз, и переслать ее пользователям...
...
Рейтинг: 0 / 0
Как забрать данные из старой базы, FOX выдает ошибку.
    #32506825
СергейJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прочитай в HELP про команду ALTER TABLE и все будет ясно. как изменить таблицы программным путем! только не забудь в программу зименения таблиц вставить проверки путем проверки наличия изменных столбцов(чтобы случайно несделать повторно или вывалится по ошибке при уже внесенных изменениях)
...
Рейтинг: 0 / 0
Как забрать данные из старой базы, FOX выдает ошибку.
    #32506848
Max4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему-то новый ЕХЕ-шник(даже со старой программой, просто перестроенный) не хочет открывать (вываливавется ошибка) старую базу, которая у них.
Ту старую базу, которая была у меня, он прекрасно открывает.
А их старая база открывается нормально только в том случае, если они присылают базу мне, я строю ЕХЕ с ней.
При этом никаких изменений в программе я не делаю.
Речь пока веду о построении нового ЕХЕ с прежним исходным кодом и работе со старой базой.
Единственое, что я проделал со своей старой базой, так это добавил один столбец в таблице, а потом его удалил. То есть по структуре база осталась прежней. Если бы я этого не делал, то программа бы работала и с моей старой базой. Но почему так? Я же не оставил этот несчастный столбец на месте, потом же удалил. Выходит так, что после того как пользователи начали работать с твоей программой все изменения в таблицы надо вносить только программно? Иначе будет как у меня? или я не прав?
Хочу разобраться сначала со старой программой (не измененной), а потом уже с новой.
...
Рейтинг: 0 / 0
Как забрать данные из старой базы, FOX выдает ошибку.
    #32506870
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Вовсе не обязательно при запуске своего EXE тут же пытаться открыть какие-либо таблицы. Судя по описанию, Вы именно это и делаете где-то в стартовом модуле

2) Удалить, не значит удалить физически. В FoxPro под термином "удалить" обычно понимают "пометить запись как удаленную". Т.е. установить специальную метку на запись.

Дело в том, что стурктура таблиц включенных в базу данных частично дублируется в контейнере базы данны. Т.е. когда Вы создали новое поле информация о нем была добавлена в контейнер базы данных. Когда Вы удалили это поле из таблицы информация о нем в контейнере базы данных по прежнему осталась, но просто была помечена как удаленная. Для очистки контейнера базы данных надо дать команду PACK DATABASE

3) Надеюсь, Вы не включали ни контейнер базы данных, ни модифицируемые таблицы внутрь EXE. Т.е. если открыть окно проекта, то слева от имени базы данных и имен таблиц должен стоять перечеркнутый кружок. Если такого кружка нет, то исключите базу данных или таблицу из проекта нажав правой клавишей мыши на их имени и выбрав пункт контекстного меню EXCLUDE. После этого Вам надо будет поставлять пользователям кроме самого EXE еще и собственно базу данных (файлы с расширением DBC, DCT, DCX) и сами таблицы.
...
Рейтинг: 0 / 0
Как забрать данные из старой базы, FOX выдает ошибку.
    #32510382
Фотография Copyright
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А их старая база открывается нормально
>только в том случае, если они присылают
>базу мне, я строю ЕХЕ с ней.

ЕХАНЫЙ БАБАЙ - ССЫЛОК НЕЯВНЫХ ПОНАДЕЛИ ВИЗУАЛИЗАТОРЫ...

Вообще-то правилами хорошего тона в FOXE всегда являлось явное слежение за областями... Надо попользоваться - открыл, не надо закрыл...

+ еще и проверка на ранее открытые и состояние среды - от многих проблем это избавляет...

ИМНО - еxe файл должен генериться отдельно и без DBF вообще, а при запуске проверять их наличие по путям и сообщения выводить... Т.е он вообще от структуры баз не должен зависеть и от того в какой каталог установлен тоже... А вот привязка дистрибутива к аппаратуре вещь нужная и полезная ;-))
Copyright мой
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как забрать данные из старой базы, FOX выдает ошибку.
    #37291989
uchenik_86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите восстановить данные. Где находятся архивы? Я работал с базой данных и нечайно удалил очень большую базу данных помогите как все вернуть это очень важно(((
...
Рейтинг: 0 / 0
Как забрать данные из старой базы, FOX выдает ошибку.
    #37292121
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где находятся архивы (если они есть вообще), знает только ваша программа. Зайдите в нее, просмотрите все пункты меню. Может, где-нибудь и найдете слово "архив".
Архивы, вообще, могут быть где угодно и их может не быть совсем, если это не предусмотрено.
Поищите по дискам компьютера файлы с расширением .dbf.

В конце концов обратитесь к системному администратору. Удаленные файлы иногда можно восстановить.
...
Рейтинг: 0 / 0
Как забрать данные из старой базы, FOX выдает ошибку.
    #37292122
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Где находятся архивы?
На архивном носителе :)
>Я работал с базой данных и нечайно удалил очень большую базу
Готовьте вазелин :(
>помогите как все вернуть это очень важно(((
Если на раздел после сноса базы ничего не писалось (что, кмк, маловероятно), можно попытаться воспользоваться программами для восстановления данных (в "вопрос-ответ"е не так давно пара тем была).
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как забрать данные из старой базы, FOX выдает ошибку.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]