Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: CL | DM;

Вниз

Перевод из 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.05 c
2-1159528840
RebroFF
2006-09-29 15:20
2006.10.15
Корректное отображение кириллицы


6-1148208866
ChainikDenis
2006-05-21 14:54
2006.10.15
Тупой вопрос по UDP


15-1158672046
Оксана
2006-09-19 17:20
2006.10.15
Работа


15-1158741969
Иксик
2006-09-20 12:46
2006.10.15
Дженерики или как я туплю


2-1159446298
pavel_guzhanov
2006-09-28 16:24
2006.10.15
как просуммировать значения одного поля по условию