Страница 1 из 1

585-711 с огромной базой

Добавлено: 02 ноя 2004, 17:14
snoopy
При конвертации из 585 на 711 на больших таблицах (spsopr.dat, spstep.dat) вылазит ошибка на этапе экспорта в dbf: невозможно осуществить доступ к файлу dbf. Я так понял что dbf'ка переполняется и программа неможет выполнить запись.
Вобщем у нас эти две таблицы больше 3 гб. занимают. Причем первасив каждую сам разбил на две, например: spstep.dat, spstep.^01
Сама база 24гб. весит.
Пробовал из скрипта конвертации выдернуть экспорт/импорт этих таблиц. База перевелась нормально, но вот как эти две таблицы перевести. Пытался просто так подсунуть, неполучается. Еще пробовал в пустую таблицу через maintance загрузить данные из старой таблицы. Тоже не прокатывает.
Даже незнаю как отконвертировать все это дело ???

Re: 585-711 с огромной базой

Добавлено: 02 ноя 2004, 17:58
FreeLancer
Есть я думаю несколько способов.
1. Разбить экспорт/импорт на 2 файла (DBF) по количеству записей.
2. заменить DBF на текстовый файл

Re: 585-711 с огромной базой

Добавлено: 02 ноя 2004, 20:36
ecasoft
А лучше почистить базу за прошлые года и все остальное уже сконвертировать...чтобы каждый такими вот примудростями не заниматься...Все равно придет придел. Лучше один раз разработать вообще техналогию..определить какой период ведется в БД и ее придерживаться. Огромные базы увеличивают время работы всего ....и ради того, чтобы в базе был 1995 год, к примеру, который никому вообщем то не нужен.

Re: 585-711 с огромной базой

Добавлено: 03 ноя 2004, 09:14
snoopy
FreeLancer, сейчас попробую в текстовый файл.
Косякин Игорь, у нас за два года база так выросла :) там лишнего ничего нету, хотя с нового года наверно чистую будем базу делать.

Re: 585-711 с огромной базой

Добавлено: 03 ноя 2004, 16:05
snoopy
FreeLancer, ты писал что можно в текстовый файл выгружать а потом обратно.
Я попробовал, выгружает, но обратно встревает, просто не шевелится.
Может чего не так пишу???

В impbtr.lot было так:
IMPORT SOPRORDB FROM Dbf ..\DBF\f1104.dbf N F S D;
я переправил:
IMPORT SPSTEP FROM TXT ..\DBF\f1104.txt F D;

Ключи N и S убрал, так как на них ругается.
Как правильно импортировать текстовый файл?
--
Если dbf можно разбить на два файла при конвертации, как это сделать?

Re: 585-711 с огромной базой

Добавлено: 03 ноя 2004, 16:15
DarkAngel27
Попробуй запрос на импор разбить на 2 этапа
1. select * from spstep where spstep.ddoc >= date(01,01,2003) and spstep.ddoc <= date(31,12,2003) to DBF c:\spstep01.DBF;
и второй select * from spstep where spstep.ddoc >= date(01,01,2004) and spstep.ddoc <= date(31,12,2004) to DBF c:\spstep02.DBF;
А затем импорт в новой Галки
import spstep from DBF c:\spstep01.DBF N T F S;
import spstep from DBF c:\spstep02.DBF N T F S;
Поидеи так заработает...

Re: 585-711 с огромной базой

Добавлено: 03 ноя 2004, 16:27
snoopy
Ангелочек, огромное спасибо :)

Re: 585-711 с огромной базой

Добавлено: 09 ноя 2004, 12:38
ecasoft
"Косякин Игорь, у нас за два года база так выросла там лишнего ничего нету, хотя с нового года наверно чистую будем базу делать."

Я не спорю, что бывает. Хотя это скорее исключение из правил. Чаще всего вообще не задумываются о том, как помечать старую информацию..закрывать счета и т.д. А потом через лет 5 уже думаю, как решать проблемы, накопленные самими же.
ПУть все время открывать новую БД меня последнее время заинтересовал. В принципе остатки перенести не проблема, каталоги тоже.
Есть только проблема хвостов. Т.е. нужно перенести документы переходящие через начало года. Вообщем-то у нас уже есть программа, которая такие выявляет и их сможем перенести.
Но есть динамические, необходимость переноса которых не ясна на начало года..к примеру могут возникнуть возвраты по накладным прошлого года. Сейчас написали программку, которая помогает сделать такие возвраты. Она открывает сразу две БД и пользователь указывает накладную их БД прошлого года. При оформлении возврата эта накладная (прямая) может быть создана и по ней сделан возврат..или возврат оформляется через закупку с ценой продажи + услуги на наценку для регистрации возврата потерянной торговой наценки при возврате денег за товар.