Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Как подключить Delphi к MySQL?


Автор: Rock 29.1.2005, 17:05
Короче, надо чтоб программа работала с MySQL базой данных test на сервере localhost, не получаеться у меня не фига... кто-нить объясните, как и что кидать на форму, какие параметры ставить, чтобы я смог выполнить запрос к этой базе
smile

Автор: Kesh 29.1.2005, 19:22
Rock
Заходим на http://www.zeoslib.net/ и скачиваем ZeosDBO - 6.1.5
Там все легко и понятно... Набор компонент для работы с MySQL...

Автор: Rock 31.1.2005, 15:06
Цитата(Kesh @ 29.1.2005, 19:22)
Заходим на http://www.zeoslib.net/ и скачиваем ZeosDBO - 6.1.5
Там все легко и понятно... Набор компонент для работы с MySQL...
А
Ага... а как их туда прикрутить? и пользоваться потом... Delphi 7

Автор: Mal Hack 31.1.2005, 15:59
Rock
в качестве альтернативы:
http://forum.vingrad.ru/index.php?showtopic=34452&st=0&unread=#entry259563

Автор: Kesh 31.1.2005, 16:53
Rock
Ну как обычно устанавливаются компоненты, через install...

.\packages\delphi6\ZCore.dpk
.\packages\delphi6\ZPlain.dpk
.\packages\delphi6\ZParseSql.dpk
.\packages\delphi6\ZDbc.dpk
.\packages\delphi6\ZComponent.dpk

Автор: Хохол 5.3.2005, 12:36
Это не проблема подключиться к локальной базе - вы подскажите как подключиться к удаленной базе которая лежит в инете?
к локальной в имя сервера пишем localhost или же для удаленных машин в локальной сели имя сервера на котором работает MySQL а как это проделать для инета???? smile

Автор: Mal Hack 5.3.2005, 14:01
IP или имя хоста, к примеру base.someserver.ru, при этом на base.someserver.ru должен быть разрешен коннект "из вне".

Автор: TicTak 10.3.2005, 14:36
а можна через адо подключится? а то я пытался, нифига не получается. Если да, то какой драйвер использовать?

Автор: Mal Hack 10.3.2005, 17:55
Можно через dbExpress, но он глючит, про ADO ничего не слышал.

Автор: Cetus 12.3.2005, 00:33
Mal Hack что значит DbExpress глючит? в чем это проявляется?

Автор: Mal Hack 12.3.2005, 00:37
Цитата(Cetus @ 12.3.2005, 00:33)
Mal Hack что значит DbExpress глючит? в чем это проявляется?

Я 7 различных libMySQL.dll переьрал чтобы уж хотя бы подключиться, но при этом ни один запрос не шел..
Плюс это также отмечает (глючность) знакомый, довольно-таки не плохой специалист.

Автор: Cetus 12.3.2005, 00:46
у тебя какой сервер MySQL стоит?
я для 4.0.2 исопльзую

LIBMYSQL.DLL 233472
DBEXPMYSQL.DLL 92672
MYSQLDB.DLL 72192

у тебя те же размеры dll'ин?

Автор: Mal Hack 12.3.2005, 00:48
Cetus
лично я перепробовал все dll, в том числе и от 3.23.58...
Север на момент тестов был 4.0.13.

Автор: Cetus 12.3.2005, 01:08
значит мне повезло с libmysql.dll я ее на работе нашел,
попробовал - заработало! smile

Автор: TicTak 22.3.2005, 19:41
У меня про dbExpress вообще кричит, что не может библиотеку найти, хотя всё есть

Автор: Mal Hack 22.3.2005, 23:03
Цитата(TicTak @ 22.3.2005, 19:41)
У меня про dbExpress вообще кричит, что не может библиотеку найти, хотя всё есть

Какую именно? И где она у тебя есть?

Автор: MacTep 23.11.2006, 01:20
Цитата

IP или имя хоста, к примеру base.someserver.ru, при этом на base.someserver.ru должен быть разрешен коннект "из вне".
Что это значит? По умолчанию не разрешено? Как сделать так, чтобы с одтельного компа можно было коннектиться к базе данных на другом компе... Что и где нужно разрешить???

Автор: Anarhist 23.11.2006, 05:26
У меня вот тоже проблема, точнее не проблема а запор. Я вообще не заню как к бызе коннект делать, всю жзниь просидел на 3d графике потом пересел на веб, а вот теперь совмещаю все вместе... smile Так как че надо сделать? Желатель пошагово, как дл идиота... smile 

Автор: SergeBS 23.11.2006, 09:40
Anarhist
Пошагово:
1. Читать доку по правам доступа к MySQL. 
2. По примеру из доки - подключиться к серверу.
3. По примеру из доки - прописать права на сервере не только на подключение, но и на доступ к БД.
4. По примеру из доки ...
Теперь понятно? Кстати это и MacTep подойдет.

Автор: fidres 1.10.2007, 15:49
повторюсь, да простит меня модерская братия. ;)
http://forum.vingrad.ru/forum/topic-134547/unread-1/anchor-entry1272485/0.html

библиотеки дбэкспресса предназначены для одной единственной и неповторимой libmysql.dll, которая входила в поставку MySQL 3.2x версий! (при условии, что вы пытаетесь работать со стандартными библиотеками dbExpress'а из 7-ой Delphi!)
отсюда следует что:
  1. либо вы меняете libmysql.dll на нужную
  2. либо вы меняете сам dbExpress на тот, который бы смог работать с вашим мускулем!
третьего не дано! (верней конечно есть альтернатива - это всем известный зевс... правда видал я парочку подобных плюшек... но инсталировать дополнительные копоненты - это IMHO SUXX! причём полный! ;))
если пытаться выполнить пункт №2 - то я не знаю чем это может для вас закончица, т.к. библиотек dbExpress от Delphi.NET у меня - NET!  smile
думаю, в этом случае проще будет установить саму дэлфи8.
:о)

Автор: Likos 19.10.2007, 08:34
Извиняюсь за тупость, но у меня почему то не инсталится компонент. Кто-нибудь может объяснить по шагам как его проинсталировать (желательно еще объяснить что куда копировать)?

Автор: Rodman 19.10.2007, 09:04
какой именно?

Автор: Likos 19.10.2007, 19:55
Zeos хочу поставить

Автор: Deepthroat 21.10.2007, 17:48
Для соединения с MySQL через dbExpress надо использовать libmySQL.dll от того дистрибутива MySQL, к которому надо подключиться. Что касается драйверов dbExpress, то рабочие дрова для 5 версии сервера можно скачать здесь: http://www.crlab.com/dbx.

Мне самому проблема соединения попортила много нервов, пока не наткнулся на эти dll'ки... Те дрова, что идут с Delphi не могут работать с новыми серверами.

Автор: Likos 23.10.2007, 12:23
Я хотел не через dbExpress работать. В начале темы люди предлагали использовать набор компонентов ZEOS DBO. Я скачал их, только вот с установкой возникли проблемы. До этого все компоненты, которые ставил, на ура инсталились. А эти что-то не ставятся  smile 

Автор: nefesta 11.12.2007, 00:12
В общем устанавливается ZEOS так:
1. Пропиши путь к папке с компонентами для соответствующей версии ZEOS в Tools-Options-Delphi Options-Library Win32 в:
- Library Path  (например, C:\Program Files\Borland\Delphi7\ZEOSDBO-6.6.1-beta\packages\delphi6)
- Browsing Path (например, C:\Program Files\Borland\Delphi7ZEOSDBO-6.6.1-beta\packages\delphi6\build)

2. В Делфе открываешь в следующем порядке:
.\packages\delphi7\ZCore.dpk
.\packages\delphi7\ZPlain.dpk
.\packages\delphi7\ZParseSql.dpk
.\packages\delphi7\ZDbc.dpk
.\packages\delphi7\ZComponent.dpk 
.\packages\delphi7\ZComponentDesign.dpk 

Папка delphi7 зависит от версии Делфы.

3. В этом же порядке для каждого package нажимаешь Compile, потом Instal.
Самым последним должен быть ZComponentDesign.dpk, поскольку там находятся визуальные компоненты.

Вроде все.

Теперь должно работать.

Автор: fidres 13.12.2007, 08:38
жуткое дело...
эдак надо будет ещё и в реестре в ручную чего-нить писать...
а если версии поменяются? тогда что?
опять редактировать всё это безобразие?!
ЖУТЬ!

Автор: Anark1 13.12.2007, 10:38
Чем плох ADO? Наиболее стабильное и универсальное соединение, к тому же в интернете море информации по работе с ADO.

Автор: bur 28.6.2008, 11:11
Люди добрые, окажите помосч, может кто прислать чисто 2 нужных файла libmysql50.dll и libmysql.dll мне на [email protected] ?
прикрутил зеос к дэльфи и желаю коннект к мускулу, а зеос спрашивает эти либы. Дайте, пжл у кого есть.
спасибо..

Автор: skyboy 28.6.2008, 11:59
Цитата(bur @  28.6.2008,  10:11 Найти цитируемый пост)
libmysql50.dll и libmysql.dll

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

Автор: bur 28.6.2008, 13:35
Цитата(skyboy @ 28.6.2008,  11:59)
Цитата(bur @  28.6.2008,  10:11 Найти цитируемый пост)
libmysql50.dll и libmysql.dll

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

sorry, совсем забыл уточнить, мускул у меня развернут на сервере линукс. естественно там нет таких библиотек. зато только что наковырял одну libmysql.dll и коннект будто бы состоялся. буду дальше мучить зеося (или он меня smile).
спасибо за ответы..

Автор: Rowi 3.3.2013, 13:00
Цитата(Хохол @  5.3.2005,  12:36 Найти цитируемый пост)
Это не проблема подключиться к локальной базе - вы подскажите как подключиться к удаленной базе которая лежит в инете?к локальной в имя сервера пишем localhost или же для удаленных машин в локальной сели имя сервера на котором работает MySQL а как это проделать для инета????


Цитата(MacTep @  23.11.2006,  01:20 Найти цитируемый пост)
IP или имя хоста, к примеру base.someserver.ru, при этом на base.someserver.ru должен быть разрешен коннект "из вне".Что это значит? По умолчанию не разрешено? Как сделать так, чтобы с одтельного компа можно было коннектиться к базе данных на другом компе... Что и где нужно разрешить???


Аналогичная проблема: к локальной БД (на Денвере) коннектится без проблем. К БД на сервере в Инете - никак ((  smile . Выдаёт ошибку:
"SQL Error: Can't connect to MySQL server on 'мой-домен.com' (10060)".
При этом в CPanel на хостинге разрешил удалённый доступ к MySQL с любого компьютера.
Уже пробовал указывать и свой домен, и домен провайдера (где phpMyAdmin находится). Порт и оставлял по умолчанию (0) и менял на тот, что для phpMyAdmin (2083). Только при изменении порта другая ошибка вылазит: "SQL Error: Lost connection to MySQL server during query."

Может, надо другой адрес или какой-то конкретный порт указывать?

P.S. Использую компоненты Zeos.

Автор: Rowi 3.3.2013, 19:50
Цитата
При этом в CPanel на хостинге разрешил удалённый доступ к MySQL с любого компьютера.

Вроде нагуглил, что кроме этого надо ещё создать юзера, который сможет коннектиться с любого хоста, т.к.  по умолчанию доступ разрешён  только с локальной машины, т.е. для пользователя user@localhost
Кстати, в новом phpMyAdmin я вообще не нашёл каких-либо кнопок/ссылок для управления пользователями БД. В старом (в Денвере) есть вкладка "Privileges" откуда можно управлять пользователями.
Поэтому пришлось через SQL-запросы. Что-то типа "GRANT ALL PRIVILEGES ON `имя_базы`.* TO myuser@'%' IDENTIFIED BY 'пароль';". Но получаю сообщение, что нет мне доступа к своей же БД!.. (( 

Это что-то в настройках хостера, или я что-то не так делаю? Терзать техподдержку, или ... ?

Автор: Akella 4.3.2013, 13:01
Цитата(Rowi @  3.3.2013,  19:50 Найти цитируемый пост)
стати, в новом phpMyAdmin я вообще не нашёл каких-либо кнопок/ссылок для управления пользователями 


в cPanel ищи

Добавлено через 1 минуту и 21 секунду
Цитата(Rowi @  3.3.2013,  13:00 Найти цитируемый пост)
"SQL Error: Can't connect to MySQL server on 'мой-домен.com' (10060)".


возможно, тчо тебя блокирует твой же сетевой экран, особенно если это windows7
Отключи все свои сетевые экраны, антивирусы на время.

Добавлено через 2 минуты и 29 секунд
Цитата(Rowi @  3.3.2013,  13:00 Найти цитируемый пост)
При этом в CPanel на хостинге разрешил удалённый доступ к MySQL с любого компьютера.
Уже пробовал указывать и свой домен, и домен провайдера (где phpMyAdmin находится). 


зайди на сайт http://2ip.ru/ и посмотри свой адрес, укажи его в каКчестве разрешённого в CPanel

Добавлено через 3 минуты и 27 секунд
Цитата(Rowi @  3.3.2013,  13:00 Найти цитируемый пост)
Может, надо другой адрес или какой-то конкретный порт указывать?


при подключении нужно указывать стандартный порт MySQL сервера: 3306, если, конечно, админы хостинга ничего не меняли

Добавлено через 4 минуты и 46 секунд
Цитата(Rowi @  3.3.2013,  13:00 Найти цитируемый пост)
P.S. Использую компоненты Zeos.



для чистоты эксперимента, скачай и установи dbForge Studio for MySQL
http://www.devart.com/ru/dbforge/mysql/studio/
программа на русском и для нас бесплатна
это будет тебе прекрасная замена phpMyAdmin`у

Добавлено через 5 минут и 37 секунд
Ну и обратись в ТП хостинга с вопросом о том, разрешены ли удалённые подключения с мускулу?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)