Russian Qt Forum
Сентябрь 30, 2024, 14:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Соединение Sql через Proxy  (Прочитано 10596 раз)
Axel
Гость
« : Декабрь 13, 2007, 14:50 »

Народ, подскажите как работать с Sql-сервером через proxy.
Записан
Kainit
Гость
« Ответ #1 : Декабрь 13, 2007, 15:56 »

Вопрос из серии "как из ничего сделать кое что?".

Хоть поясните нам, серым, каким образом коннектитесь к серверу? ODBC? QODBC? Oracle C API ?
Записан
Axel
Гость
« Ответ #2 : Декабрь 13, 2007, 16:40 »

Сервер mySQL
Использую QSqlDatabase указываю хост, имя БД, логин/пароль, порт.
Можно иначе?
Мне главное решение как можно работать с mysql сервером через proxy.
Записан
Kainit
Гость
« Ответ #3 : Декабрь 13, 2007, 17:14 »

Вы, простите, когда DSN настраиваете для коннекшена не задаётесь вопросом о прокси? Попробуйте задаться и вот вам будет ответ.

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

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

« Последнее редактирование: Декабрь 13, 2007, 17:23 от Kainit » Записан
Axel
Гость
« Ответ #4 : Декабрь 13, 2007, 17:27 »

DSN всмысле DNS?

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

Я не знаю пока/вообще не знал работает ли mySQLclient через прокси, да и вообще не знаю как эта вся кухня работает. Не довелось.
Если прольете свет на те, возможно, очевидные моменты, в которые я не посвящен, буду признателен...
Записан
WW
Гость
« Ответ #5 : Декабрь 13, 2007, 18:17 »

мдя... Непонимающий
Ну, что. Надо написать прогу, которая будет работать с удаленной БД на хостинге. Улыбающийся
И все!  Крутой
а админы локальных сетей пусть дают своим пользователям работать с ней)
Какой вопорос - такой ответ
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #6 : Декабрь 13, 2007, 18:55 »

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

если нет представления о том, как взаимодействуют клиент-сервер (в частности мускуль), не стОит браться за такой проект

а для начала doc.mysql.com
Записан
DpoHro
Гость
« Ответ #8 : Декабрь 14, 2007, 00:44 »

Вобщем, Hellraiser, респект, так все и было!

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

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

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

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

ЗЫ: Alex со мной разрабатывает программу, я под его аккаунтом писал предыдущие посты...
Может  ктото поставит точку для полноты сути поста (вопрос-ответ)? Хотелось бы получить от тех, кто знает и не влом поделиться знанием темы/ссылками на конкретные страницы ресурсов...
« Последнее редактирование: Декабрь 14, 2007, 00:49 от DpoHro » Записан
ритт
Гость
« Ответ #9 : Декабрь 14, 2007, 01:38 »

ну, хорошо, пусть будет точка...
насколько я знаю, мускуль не работает через хттп/сокс-прокси

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

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

>как всетаки добраться до представления о том, как работает клиент-сервер на низком уровне если не задавать вопросы себе/людям которые могли бы рассказать об этом
я мог бы рассказать как взаимодействуют клиент-сервер на низком уровне, но, боюсь, в данном случае это не поможет, т.к. тебе достаточно знать, что твоя "проблема" абстрактна/фантастична/нерешаема
Записан
Kainit
Гость
« Ответ #10 : Декабрь 14, 2007, 10:24 »

2xep
В точку :-)
Записан
span
Гость
« Ответ #11 : Декабрь 14, 2007, 12:41 »

Ээх...

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

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

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

Ну и на ГУИ уже смотреть, если у тебя прямое соединение - работать напрямую. Если прокси - работать через прокси.
Записан
span
Гость
« Ответ #12 : Декабрь 14, 2007, 12:44 »

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

П.С.
Цитировать
Моя задача разработать приложение, которое должно работать.
Улыбнуло )))
Записан
DpoHro
Гость
« Ответ #13 : Декабрь 14, 2007, 14:34 »

После шаманства с бубном админ всеже открыл порт.
Вот звонят бывает и говорят, что нибуя не работает и выясняй по телефону что там за сетка...

По поводу обработки запроса на сервере - хорошая мысль, но, возможно, обычный хостинг не потянет, может случиться много запросов. А вообще механизм на сервере такой предусмотрен - выдает рехультат в виде XML
Записан
ритт
Гость
« Ответ #14 : Январь 14, 2008, 14:56 »

а одмин суров - чтобы порт расшарить, бубен отрастил Улыбающийся
/* видимо, тоннель топором пробивал */
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.061 секунд. Запросов: 23.