Форум » [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 или "бесплатный брендовый аналог". Хотелось бы услышать ваше мнение.

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

Sergey Spirin: Петр пишет: И hbfbird, и hbpgsql, и hbmsql реализованы в сл. принципу. Нативное API, над ним функции-врапперы Harbour и последний слой Harbour класс-обертка. При чтении этих строк, в голове промелькнуло - а не вставить ли между "Нативное API" и "Harbour класс-обертка".... Delphi dll? Ну, это я в своем репертуаре А что, был бы качественный полный доступ к конкретным серверам...

AlexMyr: Пока автору подбрасывают пищу для размышления, пусть автор подумает над тем, что ему даст переход с действуюшей системы на ту, которую хочет начальство. Может быть после анализа получится что новая система будет не столь эффективна в сравнении с существующей?

S-A-N: AlexMyr пишет: Пока автору подбрасывают пищу для размышления... Да, ребята... "Пищи" набросали... Ешь - не хочу. Как говорится: то пусто, то густо. Наше безденежье - это временно (нас туда загнал предыдущий, слава богу уже снятый директор). Буквально только что новый (адекватный и вполне вменяемый) директор поставил мне несколько новых неотложных задач. Из-за сжатых сроков (должно работать "вчера") все будет решаться в устоявшемся стиле. В перспективе руководство видит несколько другую организацию бизнес-логики с увеличением числа клиентов. НО! Было заявлено, что "как и на чем реализовывать - смотри САМ" По поводу нашего IT персонала - весь персонал состоит из меня одного. Так сказать, от скуки на все руки. Приступаю к решению поставленных задач. По свободе буду пробовать LetoBD и Firebird. Что-то будет появляться - отпишусь, или постучусь с вопросами Спасибо всем откликнувшимся! Если кто-то еще поделится своим опытом или мыслями - буду рад.


Pasha: По поводу связки Harbour+FB Библиотеку hbfbird я пробовал использовать давно, еще в 2003-2004 году И впечатления были примерно такие, как у Петра - глючная она. С тех пор несколько раз смотрел ее - она оставалась примерно в том же состоянии. В каком состоянии она сейчас - не знаю, не смотрел. sddfb у меня не заработал вообще. С БД коннект был, но запрос не работал. Для своих целей я использовал adordd. С ней тоже были некоторые проблемы, которые я устранял правкой самого класса. В конце концов я остановился на выборках из БД fb непосредственно через ADO Recordset. Тут проблем не возникло никаких. Но при этом конечно не используются средства rdd

S-A-N: Pasha, спасибо - учту.

AlexMyr: S-A-N пишет: Буквально только что новый (адекватный и вполне вменяемый) директор поставил мне несколько новых неотложных задач. Вот как бывает, кучу информации перелопатил, в голове начало все выстраиваться и бац ..., что делать?

S-A-N: Ну, информация в любом случае на пользу, тем более, что в перспективе надо будет все-равно менять подход. А пока можно относительно спокойно поэкспериментировать, пробуя разные варианты.

SergejKis: Попробую обосновать для предложенных условий использование LetoDB. В Sql серверах конфликт операций Insert,Update,Delete и Select существут и приводит к снижению производительности особенно в длительном периоде работы (есть и др.факторы для простоты рассуждений я их отбрасываю). Разрешение конфликта разделить эти операции на два сервера. Итак два сервера: один для вых.форм др. для документов справочников, ... Какие формы перенести? Для начала годовые, квартальные, месячные, ... словом как-то определились. Получается ввод организовали, проводим периодически репликацию данных серверов, формы получаем. Сервер в худшем случае два разных физических диска в лучшем - два PC. Вернемся к начальству, оно требует движения вперд ... наверное в сторону интернета. Надо первым делом перевести или создать с нуля что-то нужное им (будут видеть что все движется и деньжат может быть подбросят на ...) Итак чем будем двигать вперед? Нас двое (трое) новой ставки не будет ! А сайт за два часа - это же говорят есть ?! Попробум двигать (если надо). Предлагают разные CMS: Денвер, Jumla, Wordpress, ... Смотрим внутренности, а там Apache 2.2, PHP 5.1/2, MySql 5.2 . Ура ! Если мы двигаемся так, то определенность с SQL сервером уже есть !!! Засада ! PHP я последний раз трогал в 2003,2004 гг. Воды много утекло. Возможно применим CGI или FastCGI hrb в Harbure есть. Выбираем CMS для пробы устанавливаем, берем шаблон, ага шевелится ..., Можно конечно без CMS, но вопросы управления контентом и т.д. останутся,. Смотим на сервер документов. Варианты переписать все ... я не рассматрию. Программы Clipper надо переводить в HB, часть уже на HB, значит надо использовать како-то RDD. Мне понравилось LetoDB, но это уже совершенно не принципиально - дело вкуса и наработок. Итак получилось два сервера MySql, LetoDB причем в такой связке LetoDB должен потянуть больше клиентов ?! Рассмотрим теперь отказ сервера к примеру на неделю (а может больше имею в виду порвали кабель связи, полетели диски) ... Копии и откаты баз мы делаем. MySql не смертельно, а вот сервер документов остановит работу предприятия ... Руководство однозначно скажет ДОЛЖНО РАБОТАТЬ !!! Совсем забыл про рабочие места к которым не дотянулась рука цивилизации (локалной сети). Следовательно при переводе на Harbor надо учесть работу сразу RDD LetoDB и CDX. Вернемся к формам, я понимаю, что сейчас они на DBF файлах работают и всех устраивают. Вывод сервер форм также LetoDB. И в CMS (если применяем ее) используем CGI с LetoDB. MySql и hbmysql (а возможно что-то другое) - дальнейшее развитие системы. или другими

Sergey Spirin: SergejKis пишет: В Sql серверах конфликт операций Insert,Update,Delete и Select существут и приводит к снижению производительности особенно в длительном периоде работы (есть и др.факторы для простоты рассуждений я их отбрасываю). Разрешение конфликта разделить эти операции на два сервера. Какие интересные и непостижимые тайны нам заодно открываются

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

Sergey Spirin: SergejKis пишет: Заголовок: Для Sergey Spirin. Вам огромное спасибо за LetoDB !!! Это вы ошиблись. Благодарите Александра Кресина, а также Пашу и Петра, которые в проекте LetoDB участвуют. Я же никак с LetoDB "не завязан".

SergejKis: В догонку к тому, что писал ранее. Не бросайтесь (без острой необходимости) в перевод Clipper в HB. С LetoDB очень приемлемо (даже мобильный интернет) отрабатывает связка: перед GETами в Clipper Run Harbour клиент (connect, use, seek, RecNoValue to local dbf,disconnect) полученные данные в тек. запись, работа с GETами, после них повторение всех действий с клиентом Harbour, наконец GETы в тек. запись и опять через клиента HB на сервер LetoDB. На VO (отключены все компоненты даже RDD) это не проходило с приемлемой реакцией системы.

SergejKis: VO клиенты были для MySql и Firebird.

AlexMyr: SergejKis пишет: В догонку к тому, что писал ранее. Как то все сумбурно

Pasha: SergejKis пишет: перед GETами в Clipper Run Harbour клиент (connect, use, seek, RecNoValue to local dbf,disconnect) полученные данные в тек. запись, работа с GETами, после них повторение всех действий с клиентом Harbour, наконец GETы в тек. запись и опять через клиента HB на сервер LetoDB. А зачем так сложно ? Не проще было бы все делать через Hb+Leto, без всякой промежуточной пересылки данных между клиентами. Клиппер здесь лишнее звено

SergejKis: Модули S87,Clipper 5.2 работают под Linuks (один пользователь) и Windows обеспечивают три языка (латышский,русский,англ. одновременно). Под Win обвязанные клиентские dll в VO для MySql и Fireberd (именно сейчас провожу работы по переходу на LetoDB). В 2004 для Win была сделана уникодная консоль под которой и работают модули. HB стал интересен имеено с 2.0 версии. А пример демонстрирует скорострельность HB+LetoDB даже в такой экзотике. Но самое смешное, то что при уходе с Sql servera это оказалось самым простым путем. А перевод в HB не так прост в моем случае: с 1990 г. в S87,Clipper 5.2 полностью заменен вывод на экран (на PC 286 летало)

Andrey: SergejKis пишет: А перевод в HB не так прост в моем случае: с 1990 г. в S87,Clipper 5.2 полностью заменен вывод на экран (на PC 286 летало) Что-то слишком сумбурно написано.... Ничего не понятно.... Хотя я сам косноязычеем страдаю...

SergejKis: Конечно не понятно... Мысль не закончил, срочно оторвали к делам. Все Си перевели. и некоторое модули тоже ... все путем ...,но для Linuks Clipper модуль менять не надо, а с HB ... . С уникодной консолью под, под которой работают Clipper модули мне и HB вроде не нужен ... С организацией работы Clipper+Ftp+Sql (для Linuks она не сделана - клиенты на нем постепенно отмирают) и обменом с сервером только изменеными данными (об этом я писал в постах начала темы) позволяют иметь практически не ограниченное кол-во клиентов, а также отсутсвие связи с сервером не останавливает работу на рабочих местах и позволяет подключать места не оборудованые связью с сервером. Где нужен HB ? LetoDB в первую очередь !!! Я же не выбрасываю Sql, а наращиваю компоненты - это значит функцииональность LetoDB доводится до методики работы Sql сервера, т.е. в LetoDB вносим изменения: - при создании таблицы добавляем (если их нет) поля: 1. IDNUMER autoincrement 2. DTMODIFY дата модификации Timestamp (формат C) 3. DTINSERT дата ввода 4. DTDELETE дата удаления 5. STATUS последняя операция проведенная над записью (A/R/D). - Добавляем HB функцию для заполнения и включаем ее вызов в нужном месте собираем ... и ВСЕ никаких тебе триггеров ни лишних функций hrb ... СУПЕР по сравнению с SQL серверами !!! Второе направление это GUI HB+QT. Но там пока надо разбираться, слишком много и нет понятия по действиям в НВ при смене версии QT ... Примерно понятно, но похоже здесь пока проблеммы ... Может что и пропустил, но в целом как-то так.

SergejKis: Пропустил направление HB+HTMLayout. HTMLayout.dll в работе с 2007 г. и соединение с HB кажется интересным. посмотреть здесь:http://www.terrainformatica.com

S-A-N: SergejKis пишет: посмотреть здесь:http://www.terrainformatica.com Для заинтересовавшихся - наткнулся на русскоязычный форум по HTMLayout: http://www.rsdn.ru/forum/group/htmlayout.aspx М.б. есть и другие.



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