![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите, как из Делфи получить доступ к MySQL на сервере? [D7]
Zilog © (2008-09-14 00:27:00)Подскажите, как из Делфи получить доступ к MySQL на сервере?
Существуют ли готовые компоненты?
VICTOR_ (2008-09-16 12:27:00) [21]
> Ты вообще-то вопрос автора читал? А то так многа букав и
> всё не по делу...
Я как раз вопрос чудесно прочитал.
И предложил свой вариант решения.
Другие варианты сводятся к следующему
- никак
- стандартными или другими компонентами доступа
- реализацией интерфейса или скриптов на самом Web-сервере
Они тоже имеют право на жизнь. Пусть автор топика и посетители форума решают.
Плохиш (2008-09-16 12:16:00) [22]
> VICTOR_ (16.09.08 11:28) [44]
Ты вообще-то вопрос автора читал? А то так многа букав и всё не по делу...
VICTOR_ (2008-09-16 11:28:00) [23]
> sniknik © (16.09.08 09:03) [43]
К сожалению, Вы очевидно не удосужились ни перечитать мои посты, ни перечитать документацию по MyOLEDB3. Очевидно Вас этот вопрос не интересует.
Возможно, этот вариант решения заинтересует автора топика или других посетителей форума.
У Вас на все пояснения 2 ответа
- провайдер доступа не даст (только зачем в моей схеме этот доступ от провайдера нужен??)
- MyOLEDB3 работать не будет (голословное заявления, очевидно, даже не читая документацию)
Насчет вероятности - 0.0% - Вы явно загнули. Вариант вполне рабочий.
Реально этот вариант в таком виде проработал в реализованном (рабочем) проекте не менее 1 года (далее проект был закрыт по не относящимся к теме причинам). Задача была следующая - обновление справочника Web-магазина (на MySQL)
В чем проблема?
1. В развертывании Web-сервера в локальной сети, а не у провайдера?
У нас сайт, форум (FreBSD + PHP+ Apache+MySQL) так работает уже около 5 лет. И я не думаю что тут есть какая-то проблема, кроме как найти хорошего администратора и нормальную выделенную линию. Аналогично работа была поставлена и в описанном мной реализованном проекте.
Наверняка, полно других фирм так работает.
2. В MyOLEDB3? Так я же Вам пояснил. Все работает и проблем нет. Этот OLE-сервер специально для такого доступа к MySQL и предназначен. И скачивался, по крайней мере мной, с официального сайта MySQL.
ИМНО - нужен доступ только к порту и только для MySQL. Причем можно установить напр. только для определенного IP. Повторю - это вопрос администрирования.
3. В надежности и скорости? У провайдера хостинг по определению надежнее, чем развернутый Web-сервер в локальной сети предприятия. По скорости доступа - тоже у провайдера она будет по определению выше. Но задача-задаче рознь. Поэтому я и не претендую на универсальность. Если у Вас не планируются тысячи запросов в секунду(минуту и т.п.), то Вам может подойти и такой вариант.
4. И на самый конец. Я описывал Вам схему, не зависящую от провайдера - он дает только доступ в Интернет. При желании наверняка можно найти провайдера, который на своем хостинге предоставит Вам необходимый доступ для Вашей Базы. Лично я такой вариант не пробовал - но, думаю, он вполне реален.
sniknik (2008-09-16 09:03:00) [24]> К сожалению не могу точно представить структуру Вашей сети.
зачем ее представлять? представь лучше web сервер, и разберись что оттуда выходит, а остальное... да плевать, это только запутывать себя.
> Подробнее о параметрах подключения как я уже говорил читайте в документации к MyOLEDB3
опять же зачем? если мы знаем что с сервера клиентам доступен один протокол, и один порт, MySql (сервер) по этому протоколу не работает... каким чудом это обстоятельство обойдут компоненты на клиенте? они волшебные, а документация по ним это список заклинаний?
> Предложен вариант решения задачи автора топика без претензии на универсальность на все случаи жизни.
ну настолько "без претензий", что вероятность используя его чтото решить = 0.0%
> то предложите свой вариант.
а вариантов то и нет. программе нужно выполняться на сервере, только так и никак иначе, чтобы иметь доступ к внутренним ресурсам (MySql в данном случае тоже внутренний). т.е. регистрируешься на нужном веб сервере, кладешь туда свои скрипты (на php например, раз мы договорились, что "он там крутится". но не на дельфи раз уж у нас "FreeBsd", но вообщето бывают сервера и на винде), вот у этих скриптов доступ к MуSql есть, они сформируют web страничку с данными базы и Апачь отранслирует ее в сеть "по http запросу"...
страничку в принципе можно не формировать, ты можеш там на этих скриптах написать свой сервер для работы с MуSql (можно просто передавать команды, назад данные), а на клиенте будеш взаимодействовать уже с ним, а не MуSql, и никакие компоненты (типа MyOLEDB3) тебе не помогут, т.к. это будет только твой "велосипед". врядли ктото озабачивался подобной схемой и сделал все это на уровне компонент.
Поросенок Винни-Пух (2008-09-15 17:15:00) [25]Подскажите, как из Делфи получить доступ к MySQL на сервере?
Либо использовать библиотеки доступа к mysql, но тогда web сервер здесь лишнее звено и очевидно, что вариант к вопросу не имеет отношения.
Либо пользоваться интерфейсом, предоставляемым web сервером. тогда любые библиотеки доступа лишние. в том числе оледб провайдеры.
VICTOR_ (2008-09-15 17:10:00) [26]
> Зачем тебе структура моей сети?
> Ты когда на мастеров делфи идешь, сильно заморачиваешься
> над структурой сети хостера?
Предложен вариант решения задачи автора топика без претензии на универсальность на все случаи жизни.
Если Вы хотите универсальное решение на все случаи жизни для любых сетей и т.п.- то предложите свой вариант.
Поросенок Винни-Пух (2008-09-15 17:01:00) [27]Зачем тебе структура моей сети?
Ты когда на мастеров делфи идешь, сильно заморачиваешься над структурой сети хостера?
VICTOR_ (2008-09-15 16:59:00) [28]
> спрошено про доступ к майскл с веб сервера.
> ок.
> стоит у меня фасттрак но новеле.
> рядом стоит mysql
> беру я твой замечательный оледб провайдер и куда его пихаю?
>
К сожалению не могу точно представить структуру Вашей сети. Подробнее о параметрах подключения как я уже говорил читайте в документации к MyOLEDB3
Поросенок Винни-Пух (2008-09-15 16:56:00) [29]В исходном вопросе есть только web сервер.
В моей схеме нет такого сервер (компьютера).
Это как раз никого не интересует.
VICTOR_ (2008-09-15 16:54:00) [30]
>
> Что делает Дельфи на сервере?
См.
VICTOR_ (15.09.08 16:13) [28]
> Там же где и Delphi
Читать. "Там же где и Ваше приложение"
> В Delphi создаете OLE объект, производите инициализацию
> MySQL и работаете.
Тут под работаете естественно имелось ввиду - создание программы.
VICTOR_ (2008-09-15 16:50:00) [31]
> Я коннекчусь к серверу MySQL.
В моей схеме нет такого сервер (компьютера).
Есть 2 компьютера
1.Сервер приложений (windows) - там установлено мое приложение+MyOLEDB3
2.Web-сервер - там установлен условно говоря FreeBsd+Apach+Php+MySQL)
Поросенок Винни-Пух (2008-09-15 16:43:00) [32]спрошено про доступ к майскл с веб сервера.
ок.
стоит у меня фасттрак но новеле.
рядом стоит mysql
беру я твой замечательный оледб провайдер и куда его пихаю?
Anatoly Podgoretsky (2008-09-15 16:41:00) [33]> VICTOR_ (15.09.2008 16:11:27) [27]
Что делает Дельфи на сервере?
Поросенок Винни-Пух (2008-09-15 16:41:00) [34]Ничего не получиться. Если Web-сервера нет - куда и какой MySQL базе будешь коннектиться?
Я коннекчусь к серверу MySQL.
VICTOR_ (2008-09-15 16:40:00) [35]
> А если в этой комбинации оставить машину с делфи и с оле-
> дб провайдером, и убрать машину с веб сервером, то что получится?
Ничего не получиться. Если Web-сервера нет - куда и какой MySQL базе будешь коннектиться? Ну для тестов - можешь установишь локально (напр. Денвер). Но мы же рассматриваем рабочий вариант.
VICTOR_ (2008-09-15 16:38:00) [36]
> нет доступа на этот, возьми любой другой где сможешь получить,
> и приведи пример - как открыть MySQL для клиентов по http
> (сам дал определение вебсерверу).
Должен быть только открыт для локального доступа порт 3306.
IMHO - не являясь системным администратором и не будучи глубоким спецом в этой области.
> "провайдер доступа не даст, а если даже и даст (ну может
> он твой знакомый) то это уже будет не веб сервер, а что
> то другое".
В описанной мною схеме - роль провайдера - не хостинг, а предоставление доступа в Интернет. Хостинг осуществляется на Web-сервере в локальной сети предприятия.
> OLEDB он на клиенте, под виндой, тебе же говорят/говорили
> о другом провайдере, том который держит у себя веб сервер.
Еще раз повторюсь - MyOLEDB3 без разницы что стоит на Web-сервере (Unix, Linux, Windows и т.п.). Доступ идет по имени сервера(либо IP) и др. параметрам, описанным в данном топике и в документации.
sniknik (2008-09-15 16:17:00) [37]> Мы же рассматриваем не задачу - возможность вытянуть из любой MySQL базы всемирной паутины любые данные, не имея на то прав доступа.
"всемирная паутина" это и есть множество веб серверов, по которым мы скитаемся. нет доступа на этот, возьми любой другой где сможешь получить, и приведи пример - как открыть MySQL для клиентов по http (сам дал определение вебсерверу).
> Вы просто взяли как аксиому: "Провайдер доступа не даст. У Вас нет вариантов".
немного не так, а так - "провайдер доступа не даст, а если даже и даст (ну может он твой знакомый) то это уже будет не веб сервер, а что то другое".
> Вы можете прочитать в документации к MyOLEDB3.
OLEDB он на клиенте, под виндой, тебе же говорят/говорили о другом провайдере, том который держит у себя веб сервер.
Поросенок Винни-Пух (2008-09-15 16:16:00) [38]А если в этой комбинации оставить машину с делфи и с оле-дб провайдером, и убрать машину с веб сервером, то что получится?
VICTOR_ (2008-09-15 16:13:00) [39]
> Там же где и Delphi
Читать. "Там же где и Ваше приложение"
VICTOR_ (2008-09-15 16:11:00) [40]
> Расскажи это апачу на юниксе. Что такое ОлеДБ.
Вы читали предыдущие посты и документацию по MyOLEDB3?
MyOLEDB3 устанавливается на Windows машине. Там же где и Delphi. На другой машине ( с установленной напр. FreeBsd) в локальной сети крутиться Web-сервер - доступный извне для HTTP-запросов. В Delphi создаете OLE объект, производите инициализацию MySQL и работаете.