Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите, как из Делфи получить доступ к MySQL на сервере? [D7]


Страницы:   1 2 3 4

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 и работаете.


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо