Форум » [x]Harbour » Harbour + SQL » Ответить

Harbour + SQL

S-A-N: Начальство "наклоняет" переходить на MS SQL. В связи с этим вопросы: 1. Как с этим работает Harbour? 2. Есть ли какие-нибудь "грабли"? хитрости? 3. М.б. кто посоветует альтернативу? Речь идет о переводе всех баз данных предприятия (бухгалтерия, кадры, планово-экономический отдел). Все программы самописные - Clipper 5.2 (DOS), Clipper 5.2 + FW 1.9, Harbour + MiniGUI. О покупке чего-либо речь не идет. Начальство ратует за MS SQL Express Edition или "бесплатный брендовый аналог". Хотелось бы услышать ваше мнение.

Ответов - 111, стр: 1 2 3 4 5 6 All

Sergey Spirin: Ах да, надо не забыть посетить сайт: http://ibase.ru/ Это центр сообщества от Димы Кузьменко.

S-A-N: Sergey Spirin, спасибо за предложенную помощь. Ловлю на слове. iBase.ru мне знаком, раньше часто там бывал, но все равно спасибо. Кстати, куда стучаться с вопросами, чтобы не плодить дополнительные темы?

Sergey Spirin: S-A-N пишет: , куда стучаться с вопросами, чтобы не плодить дополнительные темы? Да я думаю в эту тему и кладите. Ну, если что срочно, то мылом. Мыло мое знаете?

S-A-N: Sergey Spirin пишет: Мыло мое знаете? Нет.

Sergey Spirin: spirin [at] paritetsoft.ru

S-A-N: Теперь знаю

SergejKis: S-A-N при выборе сервера смотрите в сторону популярных CMS. Я решал эту проблему в 2001 году. Задачи работали как у ВАс в посте 28. Получилось следующе: Для минимизации затрат рабочие места остались на Clipper 5.2 (Blinker 6.0) RDD SIXNSX, NTX. Сервер сначала был MySql 3.2.5. потом перешел на Firebird (таблицы MyIsam без транзакций теряли записи иногда, таблицы InniDB требовали лицензию). Клиент написан на VO 2.0, 2.5, 2.7 (хронологически). Работает в фоновом режиме, находясь в соединении с базой. В Sql были только справочники и др. оперативные данные быстрого доступа. Документы с рабочих мест на FTP сервере в zip формате (в Sql попадали позже). Для уменьшения трафика сети (работа с Sql запросами) в dbf и таблицы добавил поля IDNUMBER (PRIMARY KEY) и DATE_MODIFY (INDEX в Sql) заполняются триггерами сервера. После первоначальной закрузки данных на сервер, обмен долько изменеными данными. Вот как то так ... На сегодня идут работы в направлении CMS Jumla+Harbur+LetoDB (LetoDB начали пробовать с версии 20.07.2010) c подключением в шаблон CMS.

S-A-N: SergejKis, спасибо за Ваш отклик. Я тоже больше склоняюсь к Firebird. Вариант с LetoDB я не рассматривал, т.к. боюсь, что он не "прокатит" (для руководства это не "бренд"). Хотя ... А вдруг! В любом случае, я рад, что нашелся человек с "параллельным" направлением работы. И вопрос - чем был вызван переход от Firebird к LetoDB?

SergejKis: Более быстрой реакции системы для клиента, как на HB не получите какой бы интерфейс не использовали (потом 98 еще встречается у клиентов). А LetoDB, CDX это естественный RDD HB. Применяя его достаточно легко строить распределенные базы, при этом никто не отменяет заполнение инф. Sql сервера. Надо просто определится где инфю первична. Строить TBrowse обьекты с курсорами в процедурах Sql сервера - на любителя (особенно когда они начинають жить во времени) или все читать в массивы - тоже как-то ... MySQL, Apache,PHP входят во все популярные CMS. Загрузка страниц ~ 2+сек. в Jumla и около 1 сек. во frame шаблона HB+CDX, PC 800, 512Kb работать можно... MS SQL и Firebird очень близкий синтаксис языка (это вопрос миграции). Всех (или многих) учат на PHP+MySql. На мой взгляд, выбор Sql сервера должен основываться на команде людей, знания которых, применяются при реализации проекта и направления в котором идет развитие системы и думаю, что кроме Вас самого на этот вопрос никто не ответит как-то сумбурно , но ...

Петр: S-A-N пишет: Вариант с LetoDB я не рассматривал, т.к. боюсь, что он не "прокатит" (для руководства это не "бренд"). Хотя ... А вдруг! Искусству дипломатии не обучен.. Кто для вашего руководства "бренд" - SAP AG, Sybase, Inc ? Зайдите на сайт Sybase, раздел "Продукты". С какого бодуна бренд, цена которому $5,8 миллиардов по состоянию на 2010 год поддерживает "каменный век" dbf? А может он и стоит свою цену, что умеет считать и свою копеечку и своих клиентов, в отличии от вашей "фирмы", для которой 500-600$ на более-менее современный "писюк" - непозволительная роскошь. Кстати, а вам доплачивать за приобретаемые "скилы" руководство тоже не намерено?

AlexMyr: Действительно, зашел на sybase, задал поиск - dbf и получил Results 1-20 of 184 for dbf. Самое последнее Accessing DBF Tables (Product/Solution Page Brief) Accessing DBF Tables over 2GB in Visual FoxPro with Advantage Database Server Category: Product Info Date: 2011-01-18 Вот так.

Andrey: Петр пишет: Искусству дипломатии не обучен.. Кто для вашего руководства "бренд" - SAP AG, Sybase, Inc ? Петр пишет: Кстати, а вам доплачивать за приобретаемые "скилы" руководство тоже не намерено? 5 баллов за ответ !!! Полностью присоединяюсь !!! Как это знакомо все ....

Sergey Spirin: То, что Sybase прибрал "к рукам" ADS, это мы все знаем. Так же, наверное, понимаем, что от этого сервер ADS не стал сразу сервером Sybase Так же как MySQL не стал еще Oracle-ом. Интересно еще - ADS "выгодно продался"? Или "отдался от безысходности"? В любом случае, ADS и LetoDB - это все-таки, в основном, КОСТЫЛЬ, который позволяет решить проблему исчерпания "запаса прочности обычного файлового подхода". ADS также предлагает и SQL-ориентированный функционал, понятно, что такое и было и наверное еще будет в определенной степени востребовано, за счет чего ADS существовал и существует. Но у автора топика ситуация немного другая. У него "система локалок с "пробросом" данных". То есть, даже переход на ADS потребует значительной переделки системы. К тому же, он упомянул, что во времени не сильно ограничен. В этой ситуации почему бы не подумать и о "бескостыльном" варианте? Переделки это потребует много больше конечно, но и плюсами может обернуться приличными, например, приобретение SQL-квалификации и т.д. Почему бы хотя бы не попробовать? Вопрос, все-таки, остается по клиентской части Харбора при работе с "обычными" SQL-серверами, а не специализированными (как ADS и Leto). Использует ли кто-то это реально? Каковы надежность, функционал? У меня испано-бразило-мексиканские frh-пользователи довольно много используют и MSSQL и MySQL и т.д. Но они все на [x]Harbour-e (FiveWin либо Xailer) и все они практически используют SQLRDD. А как в Harbour с этим дело обстоит?

SergejKis: Как руководство может управлять тем, чем управляете Вы, а именно, как производить расчет через массивы или файлы любой организации, какой оператор применить в том или ином месте программы ? Где производить основные вычисления, алгоритмы на стороне SQL сервера (триггера, процедуры, представления ...) или на стороне клиента (exe, hrb. hs, CDX,LetoDB,...) ? А Ваше руководство хочет увидеть развите системы например результаты деятельности предприятия на мобильном телефоне, ifone, ноутбуке и т.д.. и желательно в знакомой оболочке любимого Crome, Opera,IE, ... Если выберете алгоритмы на стороне сервера (триггера, процедуры, представления ...), то миграция на другой сервер возможно будет трудной, именно здесь, как правило различия в диалектах Sql. Словом успехов !!!

Петр: ADS не нужно становиться ASE или Sybase IQ, а MySQL - Oracle. Это все нишевые продукты и у них свой сегмент, свои пользователи. В этой ситуации почему бы не подумать и о "бескостыльном" варианте? Переделки это потребует много больше конечно, но и плюсами может обернуться приличными, например, приобретение SQL-квалификации и т.д. Почему бы хотя бы не попробовать? И этому костылю, как вы выразились, больше лет чем любимому вами Delphi, который некоторые горячие головы хоронят от года к году.. У автора, пользуясь современными терминами, хорошо налаженная система репликаций. Ему нужно всего лишь перейти чистенько на ADS Local, а потом, после приобретения серверной части, просто настройки программы поменять, и эту самую репликацию оставить лишь для форс-мажорных ситуаций (работа офлайн и т.д.). Думать о переходе никто никому не запрещает. Но я не вижу смысла в таком переходе, да еще и в условиях безденежья (это я о MS SQL, пускай даже и бесплатном). Что у автора бизнес процессы поменялись, резко увеличилось (или планируется) количество пользователей и возросла нагрузка, стал валиться сервер? Да ничего подобного. Руководство захотело MSSQL, при этом не имея даже персонала с опытом работы с оным. Автор какой опыт хочет приобрести: программиста SQL, архитектора БД или администратора. Кто ему его передаст? Кто на этом предприятии создаст и откатит backup штатными средствами или переведет базу с одной версии сервера на другую? Может руководство оплатит ему курсы и сертификацию? Кстати, я вовсе не уверен в категоричности руководства, может это ТС краски сгущает или не понимает с чем ему предстоит встретиться. Но я ему крайне не советую делать все это за "спасибо", не враг же он своему здоровью.. Все остальное - решаемо.

Петр: Что это я хотел сказать, но забыл.. Ага, бесплатным аналогом брендового ADS и есть Leto DB. Для этого его и создавали. Sergey Spirin пишет: Вопрос, все-таки, остается по клиентской части Харбора при работе с "обычными" SQL-серверами, а не специализированными (как ADS и Leto). Использует ли кто-то это реально? Каковы надежность, функционал? У меня испано-бразило-мексиканские frh-пользователи довольно много используют и MSSQL и MySQL и т.д. Но они все на [x]Harbour-e (FiveWin либо Xailer) и все они практически используют SQLRDD. А как в Harbour с этим дело обстоит? Да, вернемся к нашим баранам.. У ТС все таки частный случай, а кому действительно нужно "общаться" с обычными" SQL-серверами. SQLRDD действительно создавался как коммерческий проект, тесно переплетенный с другим коммерческим проектом xHarbour и вариант для Harbour планировать не собирались и не собираются. Что остается пользователям Harbour? Я честно о всех вариантах не знаю. Могу лишь описать то, что есть в Harbour SVN, а именно User contribution, т.е. папка contrib и examples. Сначала examples/adordd ADORDD - RDD to automatically manage Microsoft ADO. Первоначально создан Fernando Mancera и Antonio Linares в качестве бесплатного бонуса для пользователей FiveWin (примерно в тоже время когда в составе Visual xHarbour появилась демка SQLRDD, т.е. по сути наш ответ Чемберлену). Особого отклика в сердцах пользователей не нашел, фактически работа над ним приостановлена. Был помещен авторами в Harbour SVN для придания "второго дыхания", но.. Результат - дисквалификация и помещение в папку examples (кандидат на вылет.)

Sergey Spirin: Петр пишет: Руководство захотело MSSQL, при этом не имея даже персонала с опытом работы с оным. Автор какой опыт хочет приобрести: программиста SQL, архитектора БД или администратора. Кто ему его передаст? Кто на этом предприятии создаст и откатит backup штатными средствами или переведет базу с одной версии сервера на другую? Может руководство оплатит ему курсы и сертификацию? В "административно-житейском" контексте я с вами совершенно согласен. Собственно, выше я предупреждал автора, что такая "затея" - это почти полное переписывание. Петр пишет: Это все нишевые продукты и у них свой сегмент, свои пользователи. Конечно, я это и имел в виду, когда говорил о "специализации". Петр пишет: И этому костылю, как вы выразились, больше лет чем любимому вами Delphi, который некоторые горячие головы хоронят от года к году.. Здесь не совсем так. Посмотрел, начало ADS считается с 93-го. Первая общедоступная бэта Delphi это 94-й, а релиз 95-й год. Но. Компилятор первой Delphi имел номер версии - 8, на единицу больше с предыдущим - Borland Pascal 7. То есть, Дельфи - это название нового IDE, новой компонентной архитектуры, но не языка. Дельфи1 - это очередная версия Borland Pascal. Ну а хоронили его все "на почве" конфликта разработчиков и акционеров Borland-a. Сейчас, тьфу-тьфу, конфликт этот полностью разрешился, хоть все и остались на тех же рабочих местах. Петр пишет: ADORDD - .... Особого отклика в сердцах пользователей не нашел, фактически работа над ним приостановлена. То есть, использовать его в реальной работе вы бы не рекомендовали? Хорошо, а что можно сказать про "прямые" hbfbird и SQLMIX, которые тоже есть в contrib?

Петр: contrib/hbfbird contrib/hbpgsql Инициатор Rodrigo Moreno, в Harbour SVN библиотеки попали из xHarbour CVS. В 2008 году я "поплотнее" пообщался с hbfbird. Задача тривиальная: есть сторонняя программа, использующая в качестве SQL движка Firebird embedded, нужно выгрузить из ее базы данные и произвести над ними какие-то действия, штатных средств импорта - экспорта не имеет, сторонние утилиты (IB Expert) не использовались (сейчас и не вспомню почему ). Впечатление от реализации: отвратительные, без правки исходного кода не завелось, куча утечек памяти и GPF по поводу и без. Текущее состояние - не известно. В 2010 году Viktor приложил усилия к приведению hbfbird к рабочему виду, но насколько я знаю реально он библиотеку не использует. В различных форумах (посвященныих [x]Hb и Ко) я всего лишь два-три раза встречал вопросы по Firebird. Где-то 2009 тестировал hbpgsql, реализовано гораздо лучше. Ничего не валилось, отработало себе тихонько свой тест и все. Смотрел на реализацию. Кто-то из наших латиноамериканских друзей, где читал сейчас и не вспомню, писал, что регулярно работает с PG, претензий не имеет. И hbfbird, и hbpgsql, и hbmsql реализованы в сл. принципу. Нативное API, над ним функции-врапперы Harbour и последний слой Harbour класс-обертка. contrib/hbmysql Контрибутор Maurilio Longo, наиболее "старая" библиотека. Судя по сообщениям на форумах - наиболее востребуемая, вполне стабильная и пригодная для использования не только в целях тестирования. Исходники всех трех библиотек в 2010 году пересматривались, добавлено использование GC, пересмотрены используемые Harbour API функции.

Петр: Sergey Spirin пишет: использовать его в реальной работе вы бы не рекомендовали? Хорошо, а что можно сказать про "прямые" hbfbird и SQLMIX, которые тоже есть в contrib? Если вам нужно перекачать данные из mdb файла несложной структуры, то почему бы и нет? А на работу с SQL серверами, я бы не решился. SQLMIX вполне робочий, но очень специфичный продукт для решения конкретных задач. Судя по переписке в Harbour-Dev, не менее 5 человек используют его в связке Harbour + Oracle. Возможности и принципы работы SQLMIX хорошо описал автор Mindaugas Kavaliauskas, читать contrib/rddsql/readme.txt.

Петр: Ну и не надо забывать, что достучаться к SQL серверу, и не только к нему, можно посредством использования ODBC (hbodbc). Это конечно не прямой путь, но всегда верный и почти доступный как на платформе Windows, так и *nix (unixODBC). Верный потому, что начиная с версии SQL3 (SQL-99) CLI (API на котором строятся ODBC драйвера) является частью SQL стандарта. Почти доступный потому, что не все драйвера являются бесплатными и не всегда безглючными или полноценно функциональными.



полная версия страницы