Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1159279828
Fostr
2006-09-26 18:10
2006.10.15
Вставить картинку в Word из Image


3-1155642423
tytus
2006-08-15 15:47
2006.10.15
Create Trigger Before Insert


2-1159528840
RebroFF
2006-09-29 15:20
2006.10.15
Корректное отображение кириллицы


15-1158757271
DelphiLexx
2006-09-20 17:01
2006.10.15
Структура будущей проги


15-1158949396
vidiv
2006-09-22 22:23
2006.10.15
Как правильно делать свой Edit?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский