Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Клиент для удалённой работы с сервером MySQL
 
 автор: Gandzas   (05.11.2006 в 02:54)   письмо автору
 
 

У меня есть БД MySQL, с которой я могу работать через web (добавлять данные, делать выборки и т.д.)

Возможно ли как-то (желательно не очень сложно :) ), дать возможность пользователю работать с данными у себя на локалке. Т.е. зашел - обновил данные и работаешь без постоянного подключения к Интернету с информацией. Что нужно установить для этого пользователю? Или обязательно писать какую-нить программу? Если всего остального я просто не умею, то писать проги СОВЕРШЕННО не умею :)

Help!

   
 
 автор: targa   (05.11.2006 в 12:28)   письмо автору
 
   для: Gandzas   (05.11.2006 в 02:54)
 

Ну это нужен такой клиент который хранит данные у себя. Когда нужно забирает их с сервера, когда нужно отправляет на сервер.
Я нечто похожее делал на VFP. Прога в dbf хранит данные, когда нужно (пользователь нажимает кнопочку "обновить данные") коннектится к мускулу и читает нужную ей инфу в локальную БД. Когда нажимает кнопочку "отправить данные" отправляет мускулу свою информацию.
В принципе это можно написать на чем угодно. Для связки с мускулюом был задействован ODBC драйвер.

   
 
 автор: cheops   (05.11.2006 в 12:28)   письмо автору
 
   для: Gandzas   (05.11.2006 в 02:54)
 

1) Off-line клиент вряд ли имеется, но доступны несколько OnLine-клиентов (подробнее можно почитать в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5360).
2) Под "работой" что подразумевается? Если только просмотр, то можно наладить репликацию, т.е. зеркало основного сервера, которое при подключении будет забирать все обновления.

   
 
 автор: Gandzas   (05.11.2006 в 15:20)   письмо автору
 
   для: cheops   (05.11.2006 в 12:28)
 

Под работой подразумевается просмотр информации и использование фильтров для этой информации.
Т.е. в БД хранятся и несколько раз в день обновляются данные. Пользователи этой базы, как бы это сказать..., с ms-офисом работать не умеют, не говоря уже о чем-то другом.
Поэтому, нужен какой-то простой способ.
В web я просто прописала ссылки/кнопки типа "Вся информация", "Только такой-вид", "Инфа только за сегодня" и т.д. Но многие сидят на диал-апе и им неудобно постоянное подключение.

   
 
 автор: cheops   (05.11.2006 в 15:30)   письмо автору
 
   для: Gandzas   (05.11.2006 в 15:20)
 

MySQL-сервер ваш (или хост-провайдера) и сколько пользователей?

   
 
 автор: Gandzas   (05.11.2006 в 16:28)   письмо автору
 
   для: cheops   (05.11.2006 в 15:30)
 

хост-провайдера. пользователей не более 50 (у меня). У провайдера- не знаю :))

   
 
 автор: cheops   (05.11.2006 в 21:53)   письмо автору
 
   для: Gandzas   (05.11.2006 в 16:28)
 

Хост-провайдер вам скорее всего не разрешит создать сетевую учётную запись для обращения из сети, только учётную запись для локального обращения...

   
 
 автор: Gandzas   (05.11.2006 в 23:27)   письмо автору
 
   для: cheops   (05.11.2006 в 21:53)
 

что это значит? У меня есть возможность из админки добавлять пользователей для конкретной базы и назначать им права. Это оно?

   
 
 автор: cheops   (06.11.2006 в 00:23)   письмо автору
 
   для: Gandzas   (05.11.2006 в 23:27)
 

Да, это оно (правда репликацию всё равно наверное не удасться выполнить, потребуется запустить её на основном сервере) - вы можете назначать им сетевые права, т.е. создавать пользователей вида user@%?

   
 
 автор: Gandzas   (06.11.2006 в 14:56)   письмо автору
 
   для: cheops   (06.11.2006 в 00:23)
 

Похоже, что нет. У меня к пользователю автоматически добавляется _мой логин.
Т.е., например, admin_myLogin. Соответственно, если а назову admin@% - то получится пользователь с именем admin@%_myLogin

Но я могу отправлять им нужные файлы по почте. Вопрос в том, что им потом с ними делать?
Сейчас рассылка (обновления базы данных) идет в файлах Excel именно по почте. Но народ плачет, что не умеют делать выборки в Excele и перегонять информацию за несколько дней в один файл. Т.е. познания офиса - отрицательное число. :( Почти как у меня, в MySQL :))

   
 
 автор: cheops   (06.11.2006 в 15:15)   письмо автору
 
   для: Gandzas   (06.11.2006 в 14:56)
 

Нет, это значит у вас нет доступа к сетевой части, admin@% - это внутреннее представление аккаунта в базе данных, а у вас только доступ к первой части и то только к её кусочку :)))

Расскажите подробнее о своей базе данных и о том, что у вас народ делает - можно просто проще Excel-файл макрасами нашпиговать, чтобы пользователям оставалось только кнопки нажимать? Или вы генерируете CSV-файл и туда не больно макрос вставишь?

PS Боюсь, что даже если разрешат репликацию с главного сервера, налаживая 50 репликационных серверов с ума сойдёте и вы и ваши пользователи, тем более вещь достаточно капризная и трудоёмкая в настройке и обслуживании.

   
 
 автор: Gandzas   (06.11.2006 в 16:07)   письмо автору
293.5 Кб
 
   для: cheops   (06.11.2006 в 15:15)
 

Идея отличная (по поводу макросов). Несколько минусов.

1. Для того, чтобы привести базу в один формат (все данные приходят разрозненной кучей), мне ее все равно придется заливать на сервер, используя парсеры, а оттуда уже формировать файл Excel. Трудоемко, но переживу :)

2. Второй минус гораздо ощутимее. :) MySQL и запросы к БД я более-менее знаю, а вот макросы умею писать только из интерфейса самого Excel... Языка VB (кажется) и его синтаксиса тож не знаю :(

И еще... Я так понимаю, нужно будет написать марос и отправить как "программу", а потом слать только обновления? А что делать, когда закончится лимит строк?

Подробнее:
База данных объектов недвижимости. Несколько разделов: аренда, продажа, спрос, обзор СМИ и т.д. Все разделы делятся на предложения от частных лиц и посредников.
Обновления несколько раз в день. Т.е. за месяц лимит строк в Excele будет исчерпан :(

Пользователи хотят вести всю активную (живую) базу в одном файле и по всей базе делать выборки.

Выборки:
Только квартиры, только офисы и т.д.
Только частные лица.
Различные вариации на тему: только квартира, только в таком районе, только с такого по такой этаж, не меньше такой-то общей площади, не более такой-то стоимости и т.д.
Т.е. по любому столбцу может быть условие, как И, так и ИЛИ.

Например, для одного из блоков мне пришлось написать очень подробную хелпу (в аттаче). И даже с ней звонят и задают вопросы. Так что, даже не знаю, возможно ли такое реализовать макросами?

   
 
 автор: cheops   (06.11.2006 в 16:32)   письмо автору
 
   для: Gandzas   (06.11.2006 в 16:07)
 

Хм... да вы пожалуй и с XLS-файлами скоро захелбнётесь... Тут действтиельно нужно писать либо толстый клиент (тонкий клиент - это браузер, всё ПО на сервере, толстый - Windows-программа, которая подкачивает обновления, предоставляет возможности поиска, сортировки и т.п., т.е. логика сосредоточена у клиента), либо делать закрытый портал и предоставлять информацию только через интернет (решая проблему связи).

Пользователи далеко друг от дружки расположены (не объедены часом локальной сетью или ещё чем-нибудь)?

PS Вот ещё как поступают - создают RSS-подписку (XML-файл) с записями которые следует удалить, а которые следует добавить - и генерируют его в режим OnLine, у клиентов ставят ПО (да хоть на PHP можно написать, которое по кнопке обновить - закчивает изменения и правит локальную базу данных). Т.е. такая своеобразная репликация, но текстовая (хотя можно и архивировать файл) - снимаются проблемы глубокой настройки сервера MySQL и клиентов, однако остаётся проблема, что у каждого клиента понадобится настроить связку PHP+Apache+MySQL или, если будет использовать что-то вроде графического клиента, только MySQL (возможно + PHP для обновления данных). В принципе задача-то решаемая (у меня даже всплывает сейчас в голове пару работающих по этому принципу систем - в одном случае нельзя было репликацию полноценную делать, а в другом случае изначально изменения гнались по RSS-каналу и выбора не было - по cron загружали и обновляли базу). В вашем случае вообще можно даже не RSS-файл использовать - а готовый дамп посылать (DELETE - удаляем, REPLACE - вставляем).

   
 
 автор: Gandzas   (06.11.2006 в 16:58)   письмо автору
 
   для: cheops   (06.11.2006 в 16:32)
 

Пользователи никак не объединены.

Что такое толстый клиент? Похоже, что именно его я имела ввиду, создавая эту тему.
Допустим, установить какую-то прогу на локалке у юзера единожды я бы могла.
Дамп высылать почтой - не вопрос.

Если бы у юзеров была возможность постоянно работать в нете, тоже проблем нет, я знаю, как это реализовать через веб. Только в этом тоже проблема. Многие из них заходят на 10 минут снять почту и все. Все остальное для них - темный лес... :(

Получается, это нужно ставить что-то типа Денвера? Или есть что-то попроще. Хотелось бы, конечно, какое-то готовое решение.

   
 
 автор: Gandzas   (06.11.2006 в 17:04)   письмо автору
 
   для: Gandzas   (06.11.2006 в 16:58)
 

Есть еще один момент, у меня есть программа, писанная не мной, там все эти задачи реализованы. Ее можно как-то перепилить "под себя"? Прога в свободном доступе (бесплатная), но, конечно, без исходного кода. И обновления инфы приходят во внутреннем формате этой проги.

   
 
 автор: cheops   (06.11.2006 в 22:16)   письмо автору
 
   для: Gandzas   (06.11.2006 в 17:04)
 

Хм... возможно, но нужно смотреть на то, с какой базой данных программа работает, подойдёт ли ей именно ваша база данных...

   
 
 автор: cheops   (06.11.2006 в 22:15)   письмо автору
 
   для: Gandzas   (06.11.2006 в 16:58)
 

Да вы имели ввиду толстый клиент, но дело в том, что в толстом клиенте прописана функциональность. Если Web-интерфейс вы можете править как угодно (в крайнем случае нанять сторонних разработчиков), то толстый клиент - это монолит, пользователи забот не знают, всё под них настроено, при условии, что вы сами разрабатываете клиент, но он достаточно трудоёмок, так как в него нужно заложить специфику вашей базы данных. Под риэлторский бизнес под MySQL может что-то и существует, но вряд ли бесплатное и я об таких разработках не слышал.

   
 
 автор: Gandzas   (07.11.2006 в 15:42)   письмо автору
 
   для: cheops   (06.11.2006 в 22:15)
 

Спасибо. Буду ломать голову дальше :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования