Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Вниз

Строковые матрицы как альтернатива Memo полям   Найти похожие ветки 

 
Dmitriy O.   (2003-07-17 08:31) [0]

Как известно если надо записать большой текст в таблицу типа DBF с привязкой к строке то надо использовать Memo поле . При этом создается файл DBT где и хранится весь текст.Все вроде бы хорошо но если произодет аварийное завершение программы использующею такую таблицу то файл DBT может дать сбой и тогда вся прога полетит.Единственный выход это сделать empti файла DBT при этом все данные стираются.
В данном случае альтернативой memo полям могут быть строковые матрицы например 1.12.45.78.2.5. где цифры указатели на длинные строковые поля во вспомогательной таблице из которых формируется текст или на строки в файле TXT. Строковые матрицы храняться в поле типа string основной таблицы. Вот такой метод использую я сейчас. Хотя может зря я весь этот огород городил и есть способ востановить файл DBT после сбоя ?


 
pasha676   (2003-07-17 09:26) [1]


> Хотя может зря я весь этот огород городил и есть способ
> востановить файл DBT после сбоя ?

Ошибка была еще в начале проектирования базы данных. Если у тебя много данных и они критичные, то и СУБД надо выбирать соответствующую. DBase и Paradox уже не канают. Я использую FoxPro базу (это компромис между тяжелостью и надежностью+наследие прошлого+нет уж сильно критичных данных). Но в принцыпе можно интервасю, MSSQL, Oracle или еще что то из тяжеловесов.
Если уж переходить на другую СУБД влом или временные/денежные/организационные ресурсы не представляют возможным, то наулучший выход из положения (имхо) - резервное копирование.


 
Dmitriy O.   (2003-07-17 10:12) [2]

>pasha676 (17.07.03 09:26)Да DBase не есть хорошо а выбранна она была только потому что очень много данных было в Excel и их сразу можно было перекинуть в DBF. И вообще удобно работать DBF-Excel. Например сразу открыть DBF в Excel и его средствами без доп. программирования произвести какие либо действия например построить сводные таблицы - очень удобная вещь в Дельфях для этого пришлось бы писать кучу кода и выводить результат все равно в Excel т.к Qreport такой отчет не потянет.


 
blackman   (2003-07-17 10:32) [3]

FoxPro здесь не поможет. Лечить DBT трудно, да и нужно ли ?
Конечно резервное копирование спасает. Причем не глухое копирование базы, а ее архивирование. При современных ARJ и ZIP это не занимает много времени и места.
Однако с DBF, DBT надо завязывать поскольку сейчас есть более приятные БД, выполняющие все эти и не только эти функции.
Бесплатные FireBird, MySql.
Платные MSSql, Oracle.
И наконц для пробы сил Access.



 
Dmitriy O.   (2003-07-17 10:47) [4]

>blackman © (17.07.03 10:32)Access отстой хотя если работаеш на Visual Basic то удобно.


 
pasha676   (2003-07-17 10:47) [5]


> FoxPro здесь не поможет

Работаю с ней с 1999г. Комплексы работаю в неблагопритных условиях (в т.ч.) и с постоянными перебоями питания (питание компа от генератора). Разные были неисправности и отказы (в програмной части слетали винды, драйвера и т.п.), но FoxPro базы не дали ни одного сбоя.


> Да DBase не есть хорошо а выбранна она была только потому
> что очень много данных было в Excel и их сразу можно было
> перекинуть в DBF

Вполне понятное скоростное решение. Но теперь твоих сил и знаний разве не хватит чтоб побыстренькому написать конвентор? К тому же помни - тебе не нужен универсальный конвентор, а база данных имеет строго определенные поля и таблицы. В лоб задача решается с помощью цикла чтение из старой базы - запись в новую. Прога пишеться очень быстро. При сохранении структуры БД переход на новую СУБД тоже не займет (не должен занять) много времени, во всяком случае если ты использовал только SQL (что имхо правильно, TTable и иже с ним нужны только для обучение и написание "домашних" программ) и работал через BDE то проблем быть не должно.


 
Anatoly Podgoretsky   (2003-07-17 10:47) [6]

Dmitriy O. © (17.07.03 08:31)
Файл может дать такой сбой, что будут попорчены связи на мемо поле, но как правило при этом теряется одна две записи, поскольку такую таблицу можно восстановить копированием по записям и обходя порушенные записи. К тому же работать надо с архивами и порушенные записи заменить архивными.

Удобства DBase по возможности их прямого использования другими программами ничем не оценимы.

pasha676 (17.07.03 09:26)
FoxPro это тоже самое семейство (на основе DBase), различается формат индексных и мемо файлов и имеет точно такую же надежность как и DBase, не лучше не хуже.


 
Dmitriy O.   (2003-07-17 11:07) [7]

>Anatoly Podgoretsky © (17.07.03 10:47)Вот вот и я не понял про FoxPro чем CDX лутчше MDX.


 
Anatoly Podgoretsky   (2003-07-17 11:18) [8]

Ни чем, он другой, возможно дело было в лицензиях


 
blackman   (2003-07-17 11:18) [9]

>Dmitriy O.
Отстой конечно, по сравнению с остальными, но для тренировки и простых задач вполне...
Ну а какая разница VB или ты на DELPHI тоже самое будешь делать ?


 
Soft   (2003-07-17 12:34) [10]

FB+FBEmbeded и твоя проблема решена, раньше я людям рекомендовал Access(относительно стабильно работает, проверял некорректным выключением питания при выполняющихся транзакциях), когда не было FBEmbeded.

А базы перегнать в таблицу... конвертор пишется за час, начальству сообщается, что неделя и остается куча свободного времени:)


 
blackman   (2003-07-17 12:57) [11]

>Soft
А подробнее ?
http://www.interbase-world.com/index.php?newlang=russian
или есть что-то ещё ?


 
Soft   (2003-07-17 13:38) [12]

>>blackman © (17.07.03 12:57)
>>>Soft
>>А подробнее ?

http://www.ibphoenix.com/
http://www.ibase.ru/



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.012 c
14-10431
Кен
2003-07-09 02:59
2003.08.04
Рождение жизнь и смерть ЛЮБОГО форума


1-10190
Санек
2003-07-22 12:28
2003.08.04
ToolBox


4-10493
Mr. API
2003-05-26 21:28
2003.08.04
Окно копирует фон в WinXP.


3-10122
Slv
2003-07-11 12:08
2003.08.04
Синхронное падение 2-х IB серверов


1-10289
Ivolg
2003-07-21 13:40
2003.08.04
Анимация





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский