Russian Qt Forum

Qt => Базы данных => Тема начата: Axel от Декабрь 13, 2007, 14:50



Название: Соединение Sql через Proxy
Отправлено: Axel от Декабрь 13, 2007, 14:50
Народ, подскажите как работать с Sql-сервером через proxy.


Название: Re: Соединение Sql через Proxy
Отправлено: Kainit от Декабрь 13, 2007, 15:56
Вопрос из серии "как из ничего сделать кое что?".

Хоть поясните нам, серым, каким образом коннектитесь к серверу? ODBC? QODBC? Oracle C API ?


Название: Re: Соединение Sql через Proxy
Отправлено: Axel от Декабрь 13, 2007, 16:40
Сервер mySQL
Использую QSqlDatabase указываю хост, имя БД, логин/пароль, порт.
Можно иначе?
Мне главное решение как можно работать с mysql сервером через proxy.


Название: Re: Соединение Sql через Proxy
Отправлено: Kainit от Декабрь 13, 2007, 17:14
Вы, простите, когда DSN настраиваете для коннекшена не задаётесь вопросом о прокси? Попробуйте задаться и вот вам будет ответ.

Цитировать
Можно иначе?
Есть MySQL C API, о котором много мудрого можно почитать в MySQL-ном хелпе. И есть libmySQL.dll которая этот API имплементирует. Если его использовать, то в сравнении с ODBC скорость обмена возрастёт раз в 20... Собственно, ODBC, на мой взгляд уже и не пользует никто.

В Qt есть возможность скомпилить плагин, который обернёт libmySQL.dll в стандартную Qt-шную оболочку (QMYSQL).



Название: Re: Соединение Sql через Proxy
Отправлено: Axel от Декабрь 13, 2007, 17:27
DSN всмысле DNS?

Речь вот о чем.
Моя задача разработать приложение, которое должно работать.
Программа может использована быть большим количеством пользователей и не моя задача настраивать/конфигурировать сеть/сервер сети...
Приложение использует удаленную mySQL БД расположенную на банальном хостинге.
Клиенты расположены в локальных сетях.
Локальные сети настраиваются не мною.
Но моя программа должна работать.

Я не знаю пока/вообще не знал работает ли mySQLclient через прокси, да и вообще не знаю как эта вся кухня работает. Не довелось.
Если прольете свет на те, возможно, очевидные моменты, в которые я не посвящен, буду признателен...


Название: Re: Соединение Sql через Proxy
Отправлено: WW от Декабрь 13, 2007, 18:17
мдя... ???
Ну, что. Надо написать прогу, которая будет работать с удаленной БД на хостинге. :)
И все!  8)
а админы локальных сетей пусть дают своим пользователям работать с ней)
Какой вопорос - такой ответ


Название: Re: Соединение Sql через Proxy
Отправлено: Hellraiser от Декабрь 13, 2007, 18:55
А причем здесь proxy?  ???
Proxy-сервер вообще-то обеспечивает кэширование страниц, полученных посредством протокола Http (как вариант), опознавание юзеров и т.п. К работе клиента MySQL он не имеет никакого отношения! Если речь идет о том, что гадкий админ закрыл порт для MySQL - так это только к нему. Ведь скорее всего стоит фильтр на файрволе или разрешены только порты типа 80, 21, 110, 25. Qt не сможет управлять файрволом.
Пиши свою прогу, а открытием портов пусть занимаются те, кто должен этим заниматься - админы сети.


Название: Re: Соединение Sql через Proxy
Отправлено: ритт от Декабрь 13, 2007, 18:59
если нет представления о том, как взаимодействуют клиент-сервер (в частности мускуль), не стОит браться за такой проект

а для начала doc.mysql.com (http://doc.mysql.com)


Название: Re: Соединение Sql через Proxy
Отправлено: DpoHro от Декабрь 14, 2007, 00:44
Вобщем, Hellraiser, респект, так все и было!

2xep. Простите, а как всетаки добраться до представления о том, как работает клиент-сервер на низком уровне если не задавать вопросы себе/людям которые могли бы рассказать об этом.
mysql.com я посещаю.

За проект взялся давно и написал его на PHP, в виде некой CMS, затем один из заказчиков пожелал видеть у своих операторов, GUI-шную программу. Можно было оформить все похожим образом с использованием таблиц стилей/JS(Ajax) и тп... Но здравый смысл возобладал и убедил меня в необходимости реализации программы на сначала на Delphi (там не все так просто оказалось с переходм на mySQL 4.1.22 при использовании стандартных компонент, а если уж переходить на прямое использование mysql-ного интерфейса, то нафиг Делфи?), а затем на Qt.
От Qt собственно я все больше прихожу в восторг... Сама идея слот-сигнал кажется оптимальной, в отличие от очереди событий.

Но это так отступление... Я к тому, что абсолютно не пугаюсь трудностей, которые могут возникнуть. Иначе вообще зачем браться за разработку ПО вобще? Все решается.

Вследствие того, что начальные знания пришли из PHP ( разработка сайтов ) никогда не задавался вопросом как эта кухня устроена на сетевом уровне.

ЗЫ: Alex со мной разрабатывает программу, я под его аккаунтом писал предыдущие посты...
Может  ктото поставит точку для полноты сути поста (вопрос-ответ)? Хотелось бы получить от тех, кто знает и не влом поделиться знанием темы/ссылками на конкретные страницы ресурсов...


Название: Re: Соединение Sql через Proxy
Отправлено: ритт от Декабрь 14, 2007, 01:38
ну, хорошо, пусть будет точка...
насколько я знаю, мускуль не работает через хттп/сокс-прокси

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

задавая некорректный вопрос, ты порождаешь соответствующие ответы. так что, нечего бить себя пяткой в грудь...

>как всетаки добраться до представления о том, как работает клиент-сервер на низком уровне если не задавать вопросы себе/людям которые могли бы рассказать об этом
я мог бы рассказать как взаимодействуют клиент-сервер на низком уровне, но, боюсь, в данном случае это не поможет, т.к. тебе достаточно знать, что твоя "проблема" абстрактна/фантастична/нерешаема


Название: Re: Соединение Sql через Proxy
Отправлено: Kainit от Декабрь 14, 2007, 10:24
2xep
В точку :-)


Название: Re: Соединение Sql через Proxy
Отправлено: span от Декабрь 14, 2007, 12:41
Ээх...

Если ты хочешь, чтоб работало "везде" надо исходить из того, какие протоколы между клиентом и сервером у тебя работают "везде".
Прокси не дает никаких гарантий, что нормально подымется TCP соединение. (Есть там метод CONNECT, но не везде)
Прокси дает гарантию, что будет HTTP (передача HTTP заголовков на сервер, ответов сервера клиенту).

Я бы сделал так (т.к. сам на ПХП тоже пишу)

На хосте с мускулем скрипт, который принимает в заголовке (POST) команды от твоего ГУЯ клиента, а на клиент стреляет именно HTTP(S) запросами. Ну и в ответ получает результат выполнения.

Ну и на ГУИ уже смотреть, если у тебя прямое соединение - работать напрямую. Если прокси - работать через прокси.


Название: Re: Соединение Sql через Proxy
Отправлено: span от Декабрь 14, 2007, 12:44
Кроме того, других вариантов может и не быть, т.к. на большей части хостингов разрешены коннекты с базы только с локального адреса, и ничего извне не проходит.

П.С.
Цитировать
Моя задача разработать приложение, которое должно работать.
Улыбнуло )))


Название: Re: Соединение Sql через Proxy
Отправлено: DpoHro от Декабрь 14, 2007, 14:34
После шаманства с бубном админ всеже открыл порт.
Вот звонят бывает и говорят, что нибуя не работает и выясняй по телефону что там за сетка...

По поводу обработки запроса на сервере - хорошая мысль, но, возможно, обычный хостинг не потянет, может случиться много запросов. А вообще механизм на сервере такой предусмотрен - выдает рехультат в виде XML


Название: Re: Соединение Sql через Proxy
Отправлено: ритт от Январь 14, 2008, 14:56
а одмин суров - чтобы порт расшарить, бубен отрастил :)
/* видимо, тоннель топором пробивал */