Распределенная кларион-десктоп-сеть с web-координацией

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Распределенная кларион-десктоп-сеть с web-координацией

Сообщение NewUser »

Прошу всех здравствовать!

Есть следующий концептуальный вопрос. Как дешево и сердито подружить кларион–программу (желательно на CW) с БД MySQL на web-сервере?

Или немного по-другому. Какими средствами оптимальнее всего организовать распределенную вычислительную сеть, реализованную кларион-десктоп-приложениями, с координацией со стороны web-сервера?

Иными словами (и упрощено говоря):
1. Web-сервер получает заказы на расчет
2. Clarion-приложение обращается на сервер и получает свою порцию заказов, отмечая (сам или заставляя сервер) эти заказы флагом «в обработке»
3. После завершения вычислений приложение выгружает результаты своей работы обратно на сервер (файлы в определенную папку), при этом меняя флаги в соответствующих заказах на «выполнено».

Одно из основных требований – простота разветывания приложений (одним кликом) на стороне клиента.
Еще одно (но не столь основное) – наличие необходимого дополнительного инструментария в привате.

Готов предоставить любую дополнительно-уточняющую информация для прояснения сути дела.
Аватара пользователя
Admin
Администратор
Сообщения: 3960
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение Admin »

Если не сильно большие объемы и посещаемость проще все делать на одном MySQL сервере. К серверу Клара по ODBC подключается. Соответствующие ODBC дрова в инете есть. Web с мускулем напрямую работает через Perl & PHP & и.т.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение NewUser »

Здравствуйте, Admin!
Ранее я никогда не занимался подобными вещами, поэтому опыт нулевой.
Посему вопросы:
Что значит делать на одном MySQL сервере (по подробнее, пожалуйста)?
Не значит ли это, что прийдеться разворачивать у клиентов этот самый сервер?
Можно будет совместить в рамках одного приложения таблицы tps и ODBC?
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3134
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение Дед Пахом »

Я, наверно, чего-то недопонял, поэтому мне всё кажется предельно простым - обычная программа с доступом к БД через ODBC. Строка подключения формируется примерно так:

Код: Выделить всё

         strConnect = 'DRIVER={{MySQL ODBC 5.1 Driver}'         |
                    & ';SERVER='& clip(vServer)                 |
                    & ';PORT='& clip(vPort)                     |
                    & ';DATABASE='& clip(vDBName)               |
                    & ';USER='& clip(vUser)                     |
                    & ';PWD='& clip(vPwd)
vServer может быть ip-адрес или myserver.com
С уважением, ДП
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение NewUser »

Правильно ли я понял ниже (согласно настроек данного форума) указанное:
1. В клиенской программе (в словаре) я создаю таблицу (с драйвером ODBC) аналогичную (в таком же формате) соответствующей MySQL таблице на сервере.
2. Подключаю эту таблицу посредством подключения драйвера ODBC кодом, который Вы любезно предоставили.
3. Работаю напрямую из приложения с таблицей на сервере.

Это так?
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3134
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение Дед Пахом »

NewUser писал(а):Правильно ли я понял ниже (согласно настроек данного форума) указанное:
1. В клиенской программе (в словаре) я создаю таблицу (с драйвером ODBC) аналогичную (в таком же формате) соответствующей MySQL таблице на сервере.
2. Подключаю эту таблицу посредством подключения драйвера ODBC кодом, который Вы любезно предоставили.
3. Работаю напрямую из приложения с таблицей на сервере.

Это так?
Ну да. Таблицу (-цы) можно прямо импортировать в словарь с сервера. Только должен предупредить вот об чём: MySQL на Linux и на Windows ведёт себя, сволочь, по разному - на Linux имена таблиц регистрочувствительны, а на Win нет. Поэтому называйте таблицы в точности так, как они названиы в БД, да и sql-запросы пишите соответственно: "select * from mYCAsesEnsiTIvETablE"
С уважением, ДП
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение NewUser »

Все сделал, как написано. Но так и не разобрался куда (где) прописать переменную strConnect.
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение NewUser »

На этой стадии может быть актуально:

CW 6.3 9059 ABC

Я правильно понимаю, что драйвер ODBC идет со стандартной версией Клариона?
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3134
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение Дед Пахом »

NewUser писал(а):Все сделал, как написано. Но так и не разобрался куда (где) прописать переменную strConnect.
Эта переменная должна быть в атрибуте OWNER всех таблиц этой БД в словаре (Словарь > Свойства файла > Owner > !strConnect). Само собой, вычислить её значение надо до открытия файлов.
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3134
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение Дед Пахом »

NewUser писал(а):Я правильно понимаю, что драйвер ODBC идет со стандартной версией Клариона?
Нет, ODBC-драйвер это не тот драйвер, это MySQL-драйвер, надо качать с mysql.ru.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3960
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение Admin »

NewUser писал(а):Ранее я никогда не занимался подобными вещами, поэтому опыт нулевой.
Читать, пробовать и опять читать. Всего всеравно не объяснишь...
NewUser писал(а):Что значит делать на одном MySQL сервере (по подробнее, пожалуйста)?
Не значит ли это, что прийдеться разворачивать у клиентов этот самый сервер?
Можно будет совместить в рамках одного приложения таблицы tps и ODBC?
У вас есть интернет магазин к примеру, крутится все на Linux сервере MySQL и Apache.
Сам магазин с MySQL работает нативно.
Программа менеджеров которые в офисе работают с заказами и т.д. подключается к MySQL на сервере.
Я бы посоветовал использовать библиотеку MAV для работы с SQL, но это еще время на обучение.
Наверное проще будет работать напрямую через ODBC. Как это делать на форуме по моему была информация.
Если не найдете, что нибудь придумаем...
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 3960
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение Admin »

Все проверил, работает на ура... в общем...

1. Ставим MySQL сервер
2. Качаем mysql-connector-odbc-5.1.8-win32.msi с этого сайта
3. Устанавливаем ODBC connector
4. Какой либо утилей создаем таблицу в базе как на 000.png
5. Создаем пользовательский DSN как на рисунке 001.png и 002.png
6. Создаем словарь в Clarion и идем в импорт, импортируем из ODBC
7. Вводим данные как в введенном ранее DSN и выбираем нужную нам таблицу
8. Создаем стандартную апликаху с бровзом и процедурой редактирования записи
9. Компилируем - все работает.

Все
Вложения
Создание таблицы
Создание таблицы
000.png (7.67 КБ) 3890 просмотров
Администратор источников данных ODBC
Администратор источников данных ODBC
Пользовательский DSN для подключения к MySQL
Пользовательский DSN для подключения к MySQL
Настройка импорта в словарь Clarion
Настройка импорта в словарь Clarion
003.png (6.36 КБ) 3890 просмотров
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение NewUser »

Огромнейшее спасибо Admin’у за столь подробный и обстоятельный тутариал!

Выполнил по нему все описанные 9 пунктов. А вот на десятом споткнулся.
В описанном в нем примере в свойстве таблицы Owner Name образуется строка: test,root, при котором мое приложение отлично видит локальную MySQL БД.
Для подключения к web-серверу я заменил содержимое Owner Name на глобальную переменную: !PATH: strConnect
в которую до открытия этой таблицы прописываю:
PATH:strConnect= 'Driver={{MySQL ODBC 5.1 Driver}; Server=178.235.177.71; PORT=3306;Database=brakbezb; UID(или USER)=brakbezb_User; PWD=*******'
При отркрытии окна с Browse’ом по данной таблице, получаю стандарное окно MySQL connector’а/ODBC.
Даже внося нужные данные в поля формы этого окна, получаю сообщение об ошибке соединения :(.

Полдня убил в попытках разобраться :evil: . Прошу опять помощи сообщества.

Готов выслать в личку реальные данные по БД, таблице, серверу.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3134
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение Дед Пахом »

NewUser писал(а):Даже внося нужные данные в поля формы этого окна, получаю сообщение об ошибке соединения :(.
Ну значит что-то неправильно Вы вводите. Пока по кнопке "Test" не получите "Connection successful", вперёд не продвинетесь.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3960
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Распределенная кларион-десктоп-сеть с web-координацией

Сообщение Admin »

Дед Пахом писал(а):
NewUser писал(а):Даже внося нужные данные в поля формы этого окна, получаю сообщение об ошибке соединения :(.
Ну значит что-то неправильно Вы вводите. Пока по кнопке "Test" не получите "Connection successful", вперёд не продвинетесь.
Вот вот. При редактировании DSN кнопку проверки жали?
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Ответить