Распределенная кларион-десктоп-сеть с web-координацией
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Распределенная кларион-десктоп-сеть с web-координацией
Прошу всех здравствовать!
Есть следующий концептуальный вопрос. Как дешево и сердито подружить кларион–программу (желательно на CW) с БД MySQL на web-сервере?
Или немного по-другому. Какими средствами оптимальнее всего организовать распределенную вычислительную сеть, реализованную кларион-десктоп-приложениями, с координацией со стороны web-сервера?
Иными словами (и упрощено говоря):
1. Web-сервер получает заказы на расчет
2. Clarion-приложение обращается на сервер и получает свою порцию заказов, отмечая (сам или заставляя сервер) эти заказы флагом «в обработке»
3. После завершения вычислений приложение выгружает результаты своей работы обратно на сервер (файлы в определенную папку), при этом меняя флаги в соответствующих заказах на «выполнено».
Одно из основных требований – простота разветывания приложений (одним кликом) на стороне клиента.
Еще одно (но не столь основное) – наличие необходимого дополнительного инструментария в привате.
Готов предоставить любую дополнительно-уточняющую информация для прояснения сути дела.
Есть следующий концептуальный вопрос. Как дешево и сердито подружить кларион–программу (желательно на CW) с БД MySQL на web-сервере?
Или немного по-другому. Какими средствами оптимальнее всего организовать распределенную вычислительную сеть, реализованную кларион-десктоп-приложениями, с координацией со стороны web-сервера?
Иными словами (и упрощено говоря):
1. Web-сервер получает заказы на расчет
2. Clarion-приложение обращается на сервер и получает свою порцию заказов, отмечая (сам или заставляя сервер) эти заказы флагом «в обработке»
3. После завершения вычислений приложение выгружает результаты своей работы обратно на сервер (файлы в определенную папку), при этом меняя флаги в соответствующих заказах на «выполнено».
Одно из основных требований – простота разветывания приложений (одним кликом) на стороне клиента.
Еще одно (но не столь основное) – наличие необходимого дополнительного инструментария в привате.
Готов предоставить любую дополнительно-уточняющую информация для прояснения сути дела.
- Admin
- Администратор
- Сообщения: 3960
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Распределенная кларион-десктоп-сеть с web-координацией
Если не сильно большие объемы и посещаемость проще все делать на одном MySQL сервере. К серверу Клара по ODBC подключается. Соответствующие ODBC дрова в инете есть. Web с мускулем напрямую работает через Perl & PHP & и.т.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Re: Распределенная кларион-десктоп-сеть с web-координацией
Здравствуйте, Admin!
Ранее я никогда не занимался подобными вещами, поэтому опыт нулевой.
Посему вопросы:
Что значит делать на одном MySQL сервере (по подробнее, пожалуйста)?
Не значит ли это, что прийдеться разворачивать у клиентов этот самый сервер?
Можно будет совместить в рамках одного приложения таблицы tps и ODBC?
Ранее я никогда не занимался подобными вещами, поэтому опыт нулевой.
Посему вопросы:
Что значит делать на одном MySQL сервере (по подробнее, пожалуйста)?
Не значит ли это, что прийдеться разворачивать у клиентов этот самый сервер?
Можно будет совместить в рамках одного приложения таблицы tps и ODBC?
- Дед Пахом
- Старичок
- Сообщения: 3134
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Re: Распределенная кларион-десктоп-сеть с web-координацией
Я, наверно, чего-то недопонял, поэтому мне всё кажется предельно простым - обычная программа с доступом к БД через ODBC. Строка подключения формируется примерно так:vServer может быть ip-адрес или myserver.com
Код: Выделить всё
strConnect = 'DRIVER={{MySQL ODBC 5.1 Driver}' |
& ';SERVER='& clip(vServer) |
& ';PORT='& clip(vPort) |
& ';DATABASE='& clip(vDBName) |
& ';USER='& clip(vUser) |
& ';PWD='& clip(vPwd)
С уважением, ДП
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Re: Распределенная кларион-десктоп-сеть с web-координацией
Правильно ли я понял ниже (согласно настроек данного форума) указанное:
1. В клиенской программе (в словаре) я создаю таблицу (с драйвером ODBC) аналогичную (в таком же формате) соответствующей MySQL таблице на сервере.
2. Подключаю эту таблицу посредством подключения драйвера ODBC кодом, который Вы любезно предоставили.
3. Работаю напрямую из приложения с таблицей на сервере.
Это так?
1. В клиенской программе (в словаре) я создаю таблицу (с драйвером ODBC) аналогичную (в таком же формате) соответствующей MySQL таблице на сервере.
2. Подключаю эту таблицу посредством подключения драйвера ODBC кодом, который Вы любезно предоставили.
3. Работаю напрямую из приложения с таблицей на сервере.
Это так?
- Дед Пахом
- Старичок
- Сообщения: 3134
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Re: Распределенная кларион-десктоп-сеть с web-координацией
Ну да. Таблицу (-цы) можно прямо импортировать в словарь с сервера. Только должен предупредить вот об чём: MySQL на Linux и на Windows ведёт себя, сволочь, по разному - на Linux имена таблиц регистрочувствительны, а на Win нет. Поэтому называйте таблицы в точности так, как они названиы в БД, да и sql-запросы пишите соответственно: "select * from mYCAsesEnsiTIvETablE"NewUser писал(а):Правильно ли я понял ниже (согласно настроек данного форума) указанное:
1. В клиенской программе (в словаре) я создаю таблицу (с драйвером ODBC) аналогичную (в таком же формате) соответствующей MySQL таблице на сервере.
2. Подключаю эту таблицу посредством подключения драйвера ODBC кодом, который Вы любезно предоставили.
3. Работаю напрямую из приложения с таблицей на сервере.
Это так?
С уважением, ДП
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Re: Распределенная кларион-десктоп-сеть с web-координацией
Все сделал, как написано. Но так и не разобрался куда (где) прописать переменную strConnect.
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Re: Распределенная кларион-десктоп-сеть с web-координацией
На этой стадии может быть актуально:
CW 6.3 9059 ABC
Я правильно понимаю, что драйвер ODBC идет со стандартной версией Клариона?
CW 6.3 9059 ABC
Я правильно понимаю, что драйвер ODBC идет со стандартной версией Клариона?
- Дед Пахом
- Старичок
- Сообщения: 3134
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Re: Распределенная кларион-десктоп-сеть с web-координацией
Эта переменная должна быть в атрибуте OWNER всех таблиц этой БД в словаре (Словарь > Свойства файла > Owner > !strConnect). Само собой, вычислить её значение надо до открытия файлов.NewUser писал(а):Все сделал, как написано. Но так и не разобрался куда (где) прописать переменную strConnect.
С уважением, ДП
- Дед Пахом
- Старичок
- Сообщения: 3134
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Re: Распределенная кларион-десктоп-сеть с web-координацией
Нет, ODBC-драйвер это не тот драйвер, это MySQL-драйвер, надо качать с mysql.ru.NewUser писал(а):Я правильно понимаю, что драйвер ODBC идет со стандартной версией Клариона?
С уважением, ДП
- Admin
- Администратор
- Сообщения: 3960
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Распределенная кларион-десктоп-сеть с web-координацией
Читать, пробовать и опять читать. Всего всеравно не объяснишь...NewUser писал(а):Ранее я никогда не занимался подобными вещами, поэтому опыт нулевой.
У вас есть интернет магазин к примеру, крутится все на Linux сервере MySQL и Apache.NewUser писал(а):Что значит делать на одном MySQL сервере (по подробнее, пожалуйста)?
Не значит ли это, что прийдеться разворачивать у клиентов этот самый сервер?
Можно будет совместить в рамках одного приложения таблицы tps и ODBC?
Сам магазин с MySQL работает нативно.
Программа менеджеров которые в офисе работают с заказами и т.д. подключается к MySQL на сервере.
Я бы посоветовал использовать библиотеку MAV для работы с SQL, но это еще время на обучение.
Наверное проще будет работать напрямую через ODBC. Как это делать на форуме по моему была информация.
Если не найдете, что нибудь придумаем...
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3960
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Распределенная кларион-десктоп-сеть с web-координацией
Все проверил, работает на ура... в общем...
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. Компилируем - все работает.
Все
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 просмотров
-
- Настройка импорта в словарь Clarion
- 003.png (6.36 КБ) 3890 просмотров
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Re: Распределенная кларион-десктоп-сеть с web-координацией
Огромнейшее спасибо 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.
Даже внося нужные данные в поля формы этого окна, получаю сообщение об ошибке соединения .
Полдня убил в попытках разобраться . Прошу опять помощи сообщества.
Готов выслать в личку реальные данные по БД, таблице, серверу.
Выполнил по нему все описанные 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.
Даже внося нужные данные в поля формы этого окна, получаю сообщение об ошибке соединения .
Полдня убил в попытках разобраться . Прошу опять помощи сообщества.
Готов выслать в личку реальные данные по БД, таблице, серверу.
- Дед Пахом
- Старичок
- Сообщения: 3134
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Re: Распределенная кларион-десктоп-сеть с web-координацией
Ну значит что-то неправильно Вы вводите. Пока по кнопке "Test" не получите "Connection successful", вперёд не продвинетесь.NewUser писал(а):Даже внося нужные данные в поля формы этого окна, получаю сообщение об ошибке соединения .
С уважением, ДП
- Admin
- Администратор
- Сообщения: 3960
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Распределенная кларион-десктоп-сеть с web-координацией
Вот вот. При редактировании DSN кнопку проверки жали?Дед Пахом писал(а):Ну значит что-то неправильно Вы вводите. Пока по кнопке "Test" не получите "Connection successful", вперёд не продвинетесь.NewUser писал(а):Даже внося нужные данные в поля формы этого окна, получаю сообщение об ошибке соединения .
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса