Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
ВнизПеревод из Fox в InterBase Найти похожие ветки
← →
ElvenArch © (2006-09-25 22:03) [0]Доброго всем!
Суть проблемы - в фирме, где я работаю, надо совершить перевод старой системы АСУ бухгалтерией и производством, написанной на каком-то очень древнем Фоксе, на что-нибудь более новое. Но с нуля написать не удасться, поскольку начальство решило что переход будет постепенным, т.е. - отключаю одну часть старой АСУ, запускаю свою версию. У меня возникло несколько вопросов и проблем
1. Хоть Фокс и сохраняет таблицы в dbf формате, но русские символы отображаються "иероглифами". Подскажите как быть. Не хочеться переписывать базу 2000 фирм с адресами и реквизитами.
2. Поскольку базами данных занимаюсь недавно, хочу улышать Ваше мнение: реально ли каким-то образом открыть dbf файл через Дэлфи, если он уже открыт Фоксом, + возможен ли совместный доступ к таблице InterBase или Paradox ( к примеру, один редактирует таблицу - остальные только могут просматривать или делать выборку информации.
Заранее спасибо.
← →
ElvenArch © (2006-09-25 22:07) [1]С чего я решил что Фокс древний - прога АСУ работает только на машинах с 98 виндой, в 16 цветах.
← →
Сергей М. © (2006-09-26 08:52) [2]
> Фокс и сохраняет таблицы в dbf формате, но русские символы
> отображаються "иероглифами". Подскажите как быть
Настроить драйвер Фокса в Администраторе BDE след.образом:
Панель управления -> BDEAdministrator -> Configuration -> Drivers -> Native -> FoxPro -> LANGDRIVER = dBASE RUS cp866
> реально ли каким-то образом открыть dbf файл через Дэлфи,
> если он уже открыт Фоксом
Это зависит от многих факторов.
Если фоксовая программа реализована как сетевая (клиент файл-серверной СУБД), то доступ к таблицам "извне" как правило возможен, за исключением случаев, когда фокс производит регламентные операции (реиндексация, упаковка и т.д. и т.п.)
> возможен ли совместный доступ к таблице InterBase или Paradox
> ( к примеру, один редактирует таблицу - остальные только
> могут просматривать или делать выборку информации
Возможен, но чреват регулярными падениями индексов, а в ряде случаев и безвозвратной потерей инф-ции при одновременном доступе к таблицам по записи со стороны родного фоксового драйвера и, например, dbf-драйвера в составе BDE.
← →
Сергей М. © (2006-09-26 08:56) [3]Я, вероятно, не верно истолковал вопрос
> возможен ли совместный доступ к таблице InterBase или Paradox
Да, разумеется, одновременный доступ к объектам БД InterBase и Paradox возможен.
← →
Desdechado © (2006-09-26 11:54) [4]> реально ли каким-то образом открыть dbf файл через Дэлфи,
> если он уже открыт Фоксом
Открыть, теоретически, можно. Но т.к. система блокировок записей в БДЕ и фоксе несовместимы между собой, то ОЧЕНЬ рекомендую из Дельфи открывать только для чтения. Иначе попытки конкурентной записи/удаления данных могут привести к их порче. Ведь механизм записи в фоксе какой: блокируется запись или файл, вносятся изменения, разблокируются. А т.к. БДЕ этих блокировок не видит (так же, как и фокс не видит блокировок, сделанных БДЕ), то возможны варианты, когда одну и ту же запись одновременно пишут с разных сторон, что особенно опасно в случае транзакций из изменения нескольких записей.
← →
Desdechado © (2006-09-26 11:59) [5]> возможен ли совместный доступ к таблице InterBase
Если уж работать с IB, то забыть про табличный достпук как про страшный сон. Работа только через SQL (выборки наборов данных по условиям, обновления/удаления данных по условиям).
В этом случае вероятность конкурентных транзакций низка.
ЗЫ читать долго и внимательно ibase.ru
← →
ElvenArch © (2006-09-26 23:33) [6]Спасибо за советы.
1. За сегодняшний рабочий день произошла корректировка - начальство решило что переписывать АСУ я буду под Парадокс(кто-то им посоветовал...). Подскажите где лучше взять инфу по нему.
2. Тоже по поводу инфы об одновременном доступе к таблицам Парадокса(один юзер редактирует - остальные смотрят).
3. Сегодня пол дня бился над одновременным доступом к Фоксовому дбфнику(пользователь Фокса редактирует дбф, моим надо выбрать информацию), ничего умнее программного повтора попыток доступа не придумалось.
4. Совсем детский вопрос: как распечатать содержимое ДБГрид(ну не требовалось мне раньше такого :)?
П.С. Извиняюсь за обилие вопросов. Раньше я програмировал только управление оборудованием нашего завода с помощью Дэлфи и с базами данных не сталкивался. Спасибо за помощь :)
← →
atruhin © (2006-09-27 05:39) [7]Во первых Парадокс - морально устаревшая система, практически неработоспособна при более 3-5 пользователях. Так что отказаться однозначно.
Во вторых судя по уровню вопросов, рано тебе браться за написание ПО для АСУ, минимум год интенсивного обучения.
← →
Desdechado © (2006-09-27 16:00) [8]1,2. парадокс хуже фокса с точки зрения хранения данных и умер давно и надежно. Шаг к нему - шаг в могилу (как программисту, так и конторе)
3. если из фокса не открывать монопольно, то доступ на чтение тривиален
4. подключи xxxReport
← →
Anatoly Podgoretsky © (2006-09-27 16:08) [9]ElvenArch © (26.09.06 23:33) [6]
Такой как ты и посоветовал.
← →
Sergey13 © (2006-09-27 16:11) [10]> [0] ElvenArch © (25.09.06 22:03)
> Суть проблемы - в фирме
Прочитав ветку понял, что это правда. 8-)
> 1. За сегодняшний рабочий день произошла корректировка -
> начальство решило что переписывать АСУ я буду под Парадокс(кто-
> то им посоветовал...). Подскажите где лучше взять инфу по
> нему.
> Раньше я програмировал
> только управление оборудованием нашего завода с помощью
> Дэлфи и с базами данных не сталкивался.
Перевод "системы АСУ с бухгалтерией и производством" на Парадокс + поручить это человеку, не знакомому с БД (это не наезд, не обижайся)!!! Точно проблема в фирме.
← →
VALUA (2006-09-28 15:37) [11]Когда-то я переписывала из FoxPro в Delphi , база Firebierd , IBExpert .
Для FoxPro - страница BDE , компоненты DataSource , Query .
DataSource - Свойство - DataBaseName пишется место нахождения файла
FoxPro -> D:\NOV\dbf\ .
Для Delphi - DataSource , IBQuery , IBDataBase , IBstoredProc .
Пример :
SELECT * FROM semp_n.DBF ORDER BY TABN,FAM,IM,OT - файл FoxPro - пишется в свойстве Query .
while not Query1.Eof do begin
if (Query1["TABN"] = null) then tn1 := ""
else
TN1 := Trim(Query1["TABN"]);
FAM1 := Trim(Query1["FAM"]);
IM1 := Trim(Query1["IM"]);
OT1 := Trim(Query1["OT"]);
------ запись в база Firebierd , IBExpert ----------
IBStoredProc1.ParambyName("Kod_Lk").AsInteger := Kod;
IBStoredProc1.ParambyName("Tabn").AsString := Tn1;
IBStoredProc1.ParambyName("Fam").Asstring := FAM1;
IBStoredProc1.ParambyName("Im").AsString := IM1;
IBStoredProc1.ParambyName("Ot").AsString := OT1;
IBStoredProc1.Prepare;
IBStoredProc1.ExecProc;
IBStoredProc1.UnPrepare;
---------------------------------------------------
Query1.Next;
end; // whil query1
← →
VALUA (2006-09-28 15:37) [12]Когда-то я переписывала из FoxPro в Delphi , база Firebierd , IBExpert .
Для FoxPro - страница BDE , компоненты DataSource , Query .
DataSource - Свойство - DataBaseName пишется место нахождения файла
FoxPro -> D:\NOV\dbf\ .
Для Delphi - DataSource , IBQuery , IBDataBase , IBstoredProc .
Пример :
SELECT * FROM semp_n.DBF ORDER BY TABN,FAM,IM,OT - файл FoxPro - пишется в свойстве Query .
while not Query1.Eof do begin
if (Query1["TABN"] = null) then tn1 := ""
else
TN1 := Trim(Query1["TABN"]);
FAM1 := Trim(Query1["FAM"]);
IM1 := Trim(Query1["IM"]);
OT1 := Trim(Query1["OT"]);
------ запись в база Firebierd , IBExpert ----------
IBStoredProc1.ParambyName("Kod_Lk").AsInteger := Kod;
IBStoredProc1.ParambyName("Tabn").AsString := Tn1;
IBStoredProc1.ParambyName("Fam").Asstring := FAM1;
IBStoredProc1.ParambyName("Im").AsString := IM1;
IBStoredProc1.ParambyName("Ot").AsString := OT1;
IBStoredProc1.Prepare;
IBStoredProc1.ExecProc;
IBStoredProc1.UnPrepare;
---------------------------------------------------
Query1.Next;
end; // whil query1
← →
Sergey13 © (2006-09-28 15:43) [13]> [11] VALUA (28.09.06 15:37)
Я присел и сказал 2 раза "Ку".
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.043 c