Delphi mysql connection error

Подключение из Delphi через драйвер к MySQL Хочу подключиться из Delphi к MySQL скачал mysql-connector-odbc-5.2.7-winx64.msi Установил. Завёл Delphi XE, но в списке «Создание нового источника данных» данный драйвер в списке не присутствует. Как его ещё устанавливать? Или где-то прописывать ручками, что-то надо? Ответы (2 шт): Дело в том, что Вы используете 64-разрядный драйвер. А, […]

Содержание

  1. Подключение из Delphi через драйвер к MySQL
  2. Ответы (2 шт):
  3. Delphi +Firedac and network connection error
  4. 1 Answer 1
  5. Firedac does not connect on my phone but does on my computer — Delphi Xe5 — Mysql
  6. 3 Answers 3
  7. Delphi 7 — ADOConnection unable to connect due to SQL «must change password» flag
  8. 2 Answers 2
  9. ISAPI, MySQL и DataSnap XE2.
  10. Установка и настройка необходимого ПО
  11. Настраиваем сервер на работу с MySQL
  12. «DBX Error: Driver could not be properly initialized…» Как победить?
  13. Создаем соединение с БД, читаем данные и отправляем их клиенту
  14. Разработка клиента
  15. Создаем клиент для чтения данных
  16. Создаем клиент для чтения и редактирования данных
  17. Отладка ISAPI-модулей в Delphi

Подключение из Delphi через драйвер к MySQL

Хочу подключиться из Delphi к MySQL
скачал mysql-connector-odbc-5.2.7-winx64.msi
Установил. Завёл Delphi XE, но в списке «Создание нового источника данных» данный драйвер в списке не присутствует.
Как его ещё устанавливать? Или где-то прописывать ручками, что-то надо?

Ответы (2 шт):

Дело в том, что Вы используете 64-разрядный драйвер. А, Delphi как была, так и сейчас осталась 32-разрядной. Поэтому Delphi его и не «видит».

Проблема обычно решается установкой 32-разрядного драйвера.

P.S. Для версии XE2 и выше это замечание также актуально. 64-разрядный там, по сути, только компилятор под Win64. Сама IDE по прежнему 32-разрядная и «видит» только 32-разрядные драйвера.

Все зависит от целевой платформы 32 ли 64 бит и типа подключения. Если используется dbGo (TADOConnection) тогда для каждой (32/64) нужно устанавливать свой ODBC Connector. И вручную создавать пользовательские, файловые или системные DSN выбрав соответсвенно драйвер MySQL. Но поставщиком данных нужно все равно выбирать Microsoft OLE DB Provider for ODBC!

А вот с использованием DbExpress или FireDAC все не так однозначно. IDE может сильно ругаться приблизительно такими словами:

DBX error: Driver could not be properly initialized Client library May be missing, of the wrong version, May be missing from the driver or the system path.

Источник

Delphi +Firedac and network connection error

My app is working with MySQL database, to connection I’m using FireDAC components. Last time I have got a network problem, I test it and it is looks like (time to time) it losing 4 ping request. My app return me error: «[FireDAC][Phys][MySQL] Lost connection to MySQL server during query». Now the question: setting fdconnection.TFDUpdateOptions.LockWait to true (default is false) will resolve my problem or make new problems?

1 Answer 1

TFDUpdateOptions.LockWait has no effect on your connection to the database. It determines what happens when a record lock can’t be obtained immediately. The documentation says it pretty clearly:

Use the LockWait property to control whether FireDAC should wait while the pessimistic lock is acquired (True), or return the error immediately (False) if the record is already locked. The default value is False.

The LockWait property is used only if LockMode = lmPessimistic.

FireDAC can’t wait to get a lock if it loses the connection, as clearly there is no way to either request the lock or determine if it was obtained. Therefore, changing LockWait will not change the lost connection issue, and it may slow many other operations against the data.

The only solution to your lost ping requests is to fix your network connection so it stops dropping packets. Simply randomly changing options on TFDConnection isn’t going to fix networking issues.

Источник

Firedac does not connect on my phone but does on my computer — Delphi Xe5 — Mysql

I am developing a firemonkey application and testing it on my samsung S4. I have a remote mysql database that i am attempting to connect to using firedac.

Obviously this requires libmysql.dll and ive added it on the computer, and the database does connect in design mode. but when i compile and run it on my s4, it does not compile. i get the [FireDAC][Phys]-300. Driver[MySQL] is not registered, you can drop component [tfdphmysqldriverlink into your project

Can anybody help me resolve this?

Just to be clear as well on this. I am in need of a freeware client, Such as zeoslib etc.

3 Answers 3

I use Devart MyDAC components for my firemonkey apps. It works on Android without the need for MySQL client lib.

This sounds obvious but did you add a tfdphmysqldriverlink component to your project?

Edit: sorry answered too quickly, looks like MySQL is not supported for android in XE5.

Like mentioned above, some options are:

I had same problems. And I solved as like below. It’s not difficult.

1st, You need to check libmysql.dll is in the right directory. Be sure to see what you have 32bit.dll and 64bit.dll. If you don’t know then you can get it from here MySQL download page both 32bit, 64bit When you compile 32-bit mode you need 32bit.dll, when 64-bit mode needs 64bit.dll

Copy it to c:/Program Files(x86)/Embarcadero/Studio/17.0/bin

Caution: when you compile 64-bit mode with 32-bit.dll it will show an error.

As you see below I use 32bit mysql.dll and MariaDB server. Quite an adventure to me but I got success. Mysql server also good.

2nd, In the form, FDConeection, FDQuery, BindsourceDB
With FDconnection(double click it) you can test connection to DB.(Easy to use)
With FDQuery access DB table data from DB. If you do well copy correct version to bin directory It has to show success message.
With BindsourceDB you can set data to listview or dbgrid some component can list up your data.
My case I use livebinding.

Источник

Delphi 7 — ADOConnection unable to connect due to SQL «must change password» flag

I am having a problem that occurred in a specific circumstances in my Delphi 7 application.

I have ADOConnection that goes to my MS SQL server with some username and pass — SQL authentication. The problem is that MS SQL login was created with «User must change pass at next login» flag that makes ADO Connection impossible to connect with error message «18488 — Login failed for user ‘%.*ls’. Reason: The password of the account must be changed.»

Normally, in MS SQL Management Studio a change password prompt is shown, and user is able to enter new password. The question is what should I do to force password change on this user in my application? I am able to catch error number and prompt for login change, but what then? There is no flag in a connection string that I could use to change pass/reset to new (like Old Password and New Password). What should I do then?

Can anyone help?

2 Answers 2

When you trap the 18488 error, You need to show your own «change password» dialog, and use connection string properties «Old Password» / «Password» via SQL Native Client as your provider (i.e. Provider=SQLNCLI10 or SQLNCLI.1 ).

Here is a small code I used to test this:

My answer is based on these readings:

This is the official way of changing passwords from the client side when you enforce password expiration and use «User must change password at next login» option on the SQL server.

If installing the SQL Server Native Client on the users machine is an issue, I can think of few more options:

  1. Create a web-service (on your servers) that will be responsible for changing the user’s password provided old/new passwords and returning status back to your client.
  2. Connect as «super user» (such as sa ), and alter the user’s/login password. meaning you will need to hold that username/password on the client machine (bad idea IMHO from security point of view but might be workable). — not tested
  3. do NOT create SQL logins with «User must change password at next login». which is my favorite solution.

Источник

ISAPI, MySQL и DataSnap XE2.

Сегодня картинок тоже будет не мало. В продолжение темы «Windows 7 x64, IIS, ISAPI и DataSnap XE2 в картинках» решил я поработать с базой данных. Получать от сервера ReverseString, конечно, весело («Оно работает!», «Уау!» и всё такое прочее), но на деле врядли кому-то такой сервер пригодиться. Поэтому решил расширить свой кругозор и доработать уже имеющийся ISAPI-модуль и клиента, чтобы они смогли обмениваться данными — сервер будет читать данные из базы данных и отправлять их клиенту. Клиент, в свою очередь, будет получать данные с сервера, работать с ними и отправлять изменения на сервер.

Вообще, т.к. наш ISAPI-модуль предназначен для IIS, то, наверное, логичнее было бы рассказать про работу c MSSQL, а не с MySQL. Но, признаюсь, попытка установки MSSQL Server на мой компьютер была неудачной по причине того, что меня просто откровенно задолбало выкачивать с сайта Microsoft тучу каких-то сервис-паков к дистрибутиву, которые в итоге просили ещё не меньшую кучу обновлений. В общем плюнул я на это дело и решил установить MySQL — всё-таки это очень популярная СУБД, да и провайдеры, предоставляющие Win-хостинг обычно дают доступ и к MSSQL и к MySQL (например, МастерХост). Да и, в принципе, какая нам сегодня разница, что за СУБД будет использоваться MSSQL, MySQL или вообще FireBird? Основная задаче сегодня — «научить» сервер и клиент работать с данными из базы, а её (БД) тип — дело второе.

Установка и настройка необходимого ПО

Итак, начнем с установки необходимого программного обеспечения и его настройки. Для сегодняшней работы скачал у установил следующее ПО:

  1. MySQL 5.0 с сайта mysql.ru
  2. Для работы с базами данных был скачан с mysql.com и установлен MySQL Workbanch

По умолчанию MySQL установится в Windows 7 x64 в директорию c:Program Files (x86)MySQLMySQL Server 5.0. В этой же директории Вам будет предложено хранить файлы БД — я при установки оставил все настройки без изменений.

Теперь подготовим нашу тестовую БД с помощью MySQL Workbench. Запускаем программу и создаем новое подключение:

В общем случае, настройки должны быть такими:

  • HostName = 127.0.0.1 (или localhost)
  • Port = 3306
  • User = root
  • Password = (заданный при настройке MySQL)

После того, как соединение создано, дважды кликаем по его названию в списке и создаем новую БД:

Я создал БД с такими настройками:

  • Name = dsbase
  • Collation = utf8 — utf8_general_ci

Проще было бы работать с кодировкой cp1251, но в Сети всё же чаще используется utf8 — с этой кодировкой и будем баловаться разбираться. Теперь остается последний шаг — создать таблицу в нашей базе. Для этого дважды щелкаем в списке БД по нашей только что созданной, чтобы она стала активной, жмем кнопку «Create New Table…» (или вызываем контекстное меню в дереве у узла Tables) и создаем в редакторе новую таблицу:

Я создал таблицу с названием dstable и четырьмя полями — id, имя, фамилия и день рождения. Какую таблицу создадите Вы — не важно, главное, чтобы она была в БД.

Теперь приступим к работе в Delphi. И первым делом немного переделаем наш ISAPI-модуль.

Настраиваем сервер на работу с MySQL

Когда я рассматривал работу над ISAPI-dll в прошлый раз, то выбрал для класса с серверными методами предка TComponent. Тогда мне не требовалась никакая работа с наборами данных или невизуальными компонентами, поэтому я ограничился самым простым классом из предложенных. Сегодня же нам потребуются и TSQLConnection и другие невизуальные компоненты, поэтому удобнее будет использовать другого предка, например, TDSServerModule. Удаляем старый проект сервера — в нем нет ничего, кроме того, что было создано мастером и создаем новый, как я рассказывал в прошлый раз, но только в качестве предка для класса серверных методов выбираем TDSServerModule. Теперь в менеджере проектов наш сервер будет выглядеть так:

Пока ServerMethodUnit1 ничего не содержит и сейчас мы это исправим. Первым делом создадим новое подключение для MySQL в Data Explorer. Настройки соединения у нас должны быть следующие:

  • ServerName = localhost
  • Database Name = dsbase (её мы и создавали в Workbench)
  • User Name/Password = заданным при настройке MySQL.

Проверяем соединение — соединение есть:

Но это оно (соединение) есть у меня. А вот у Вас его может и не быть с самого начала. Например, Вы можете получить вот такое нехорошее сообщение:

Поэтому сделаем небольшое лирическое отступление и посмотрим как с такой ситуацией бороться.

«DBX Error: Driver could not be properly initialized…» Как победить?

Во-первых, надо проверить наличие библиотеки libmysl.dll на компьютере. Эта библиотека должна располагаться либо в директории с проектом, либо в следующих местах:

Для x86 Для x64
$BDSbin $BDSbin64
WindowsSystem32 WindowsSysWOW64

Если же после того, как Вы положили библиотеку по одному из предложенных выше путей соединение так и не хочет работать, то, тогда внимательно смотрите на версию самой библиотеки, т.к. не каждая (даже скачанная с официального сайта) dll может заработать. У меня соединение нормально заработало только с библиотекой для x86, которую Вы можете скачать по ссылке ниже:

Скачиваете архив, распаковываете DLL, например, в WindowsSystem32 и соединение заработает. Ну, а если не заработает…делитесь решениями в комментариях.

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

Создаем соединение с БД, читаем данные и отправляем их клиенту

Открываем модуль с серверными методами (по умолчанию — это ServerMethodsUnit1) и бросаем на него сначала такие компоненты:

Для TSQLConnection устанавливаем следующие свойства:

  • ConnectionName = dsMySQL (заданное в Data Explorer)
  • Driver = MySQL
  • VendorLib = LIBMYSQL.dll
  • Connected = True

У TSQLDataSet в свойстве SQLConnection выбираем SQLConnection1, а также сразу зададим и свойство CommandText. Для этого вызовем редактор и составим SQL-запрос вида:

SELECT * FROM dstable

Теперь можете проверить, что в SQLDataSet поступают данный — переключите свойство Active в значение True — при этом, если всё было сделано верно, не должно вызываться никаких исключений.

Теперь разберемся с тем как переслать клиенту все, что было получено из БД. Клиент не в курсе, что там делает на другой стороне наш сервер, как и куда подключается, что считывает. Клиенту главное — получить набор данных в каком-либо удобоваримом для него виде. И для этого мы напишем очень просто серверный метод, который будет возвращать клиенты TDataSet. Открываем исходный код модуля с серверным классом и создаем такой метод:

Всё. Большего нам пока от сервера и не требуется. Как только клиент вызовет метод GetDataSet наш SQLDataSet1 получить все данные из таблицы и отправиться прямиком на клиент. Теперь вернемся к разработке клиента.

Разработка клиента

Клиент может только получать данные от сервера, а может (что чаще всего происходит) получать, добавлять и редактировать данные на сервере. В зависимости от того в каком режиме будет работать клиент (Read Only или Read/Write) будет зависеть состав компонентов. Рассмотрим оба варианта работы клиента начнем с более простого.

Создаем клиент для чтения данных

Создаем новый проект Delphi и бросам на главную форму следующие компоненты:

  1. TSQLConnection
  2. TSqlServerMethod
  3. TDataSetProvider
  4. TClientDataSet
  5. TDataSource
  6. TDBGrid
  7. TDBNavigator
  8. TCheckBox

У Вас должно получиться что-то типа такого:

Теперь настроим компоненты. Про настройку TSQLConnection я рассказывал в прошлый раз, поэтому можете открыть ссылочку и прямо по картинкам провести настройку компонента. Единственное, что следует помнить, что ISAPI-модуль (наш сервер) должен работать, чтобы Вы смогли сгенерировать клиентский модуль с серверными методами.

Теперь настроим TSQLServerMethod. Вообще, этот компонент удобно использовать в том случае, если нам необходимо получить данные только для чтения. У TSQLServerMethod устанавливаем следующие свойства:

  1. SQLConnection = SQLConnection1;
  2. ServerMethodName = TServerMethods1.GetDataSet;

Можете проверить работу компонента — переключите свойство Active в True — если соединение работает корректно, то это действие приведет к тому, что свойство TSQLConnection.Connected также станет равным True.

У компонента TDataSetProvider в свойстве DataSet указываем SQLServerMethod1.

У ClientDataSet1 в свойстве ProviderName указываем DataSetProvider1.

У DataSource1 в свойстве DataSet указываем ClientDataSet1

У DBGrid1 в свойстве DataSource указываем DataSource1

У DBNavigator1 в свойстве DataSource указываем DataSource1

И, наконец, у CheckBox1 пишем обработчик OnClick:

И всё. Клиент для чтения данных с сервера готов к работе. Для порядка можете из DBNavigator1 исключить кнопки, связанные с модификацией данных, а можете и не убирать, если они вам не мешают. Чтобы убедиться, что все работает как часы — просто измените свойство Active у ClientDataSet1 на True и табличка DBGrid должна вывести вам все данные из БД, но т.к. я ещё не вносил никаких данных, то у меня вид окна программы стал таким:

В приведенном выше примере клиента мы создали вот такую связь компонентов:

Для чтения данных с сервера этого достаточно, для модификации — нет. Напишем теперь клиентское приложение, которое будет и читать и модифицировать данные.

Создаем клиент для чтения и редактирования данных

Для статьи я буду создавать новое приложение, а Вы, если хотите, можете изменять только что созданного клиента. Итак, чтобы создаем новый проект и бросаем на главную форму следующие компоненты:

  1. TSQLConnection
  2. TDSProviderConnection
  3. TClientDataSet
  4. TDataSource
  5. TDBGrid
  6. TDBNavigator
  7. TCheckBox

Внешний вид главной формы приложения у меня получился следующий:

Как видите, состав компонентов стал несколько другим. TDSProviderConnection необходим нам для того, чтобы обеспечить ссылку на TDataSetProvider на стороне сервера. Но, как Вы можете Видеть выше — никакого TDataSetProvider у нашего сервера нет. Поэтому на минуту вернемся к серверу, добавим в модуль ServerMethodsUnit1 компонент TDataSetProvider у которого в свойстве DataSet укажем SQLDataSet. Вид модуля у сервера теперь стал таким:

Теперь пересобирите ISAPI-модуль, выключите IIS, забросьте куда необходимо IIS-модуль и снова включите IIS.

Возвращаемся к нашему клиенту. Будем считать, что TSQLConnection у Вас уже настроен (тритий раз повторяться не буду). Переходим сразу к TDSProviderConnection и устанавливаем у него следующие свойства:

  1. SQLConnection = SQLConnection1
  2. ServerClassName = TServerMethods1

Теперь устанавливаем свойства у TClientDataSet:

  1. RemoteServer = DSProviderConnection1
  2. ProviderName = DataSetProvider1;

Свойство ProviderName — это список, который формируется после запроса к серверу и в это список ничего руками вписывать не следует. Если у вас не получается сделать вот так:

то одно из двух:

  1. Сервер не работает
  2. Не правильно настроен TDSProviderConnection или TSQLConnection

Теперь устанавливаем у DataSourse свойство DataSet как ClientDataSet1 и настраиваем свойства у DBGrid и DBNavigator.

У CheckBox1 снова пишем обработчик OnClick:

Этого будет достаточно, чтобы запустить все компоненты по цепочке. И остается решить вопрос с обновлением БД. Я не стал выдумывать ничего лишнего и сделал отправку изменений на сервер в ручном режиме. т.е. добавил на форму кнопку и определил обработчик OnClick следующим образом:

Вот теперь можно запустить наш клиент и попробовать добавить/отредактировать/удалить записи.

Будьте уверены — данные отправятся на сервер и сохраняться в базе данных.

Как видите сегодня мы с Вами решили поставленную задачу, а также определились с отличиями в составе компонентов у клиента, который работает только на чтения и у клиента для полноценной работы с данными. Исходники всех трех проектов я выложу, но пока открытым остается один вопрос, который, полагаю, возникал у тех, кого заинтересовала тема ISAPI — как проводить отладку ISAPI-модуля? Вопрос на самом деле не большой, поэтому сейчас его быстренько и рассмотрим.

Отладка ISAPI-модулей в Delphi

Как Вы знаете, любую dll-ку в Delphi можно отладить, если в свойствах проекта прописать значение «Host Application». Указываем в свойстве exe-шник, который использует нашу dll, запускаем проект и спокойненько отлаживаем библиотеку. Чем тогда отличается ISAPI-модуль от обычной DLL? Ответ очевиден — ничем. Это точно такая же динамическая библиотека, экспортирующая методы и для её отладки нам просто необходимо найти нужный exe-файлик.

Немного покопавшись по Сети я нашел тот самый exe-файл:

w3wp.exe отвечает за запуск веб-приложения на IIS и обработку запросов от других приложений. Другими словами этот файл делает возможным работу нашего сайта, который мы создавали с вами для работы.

Свойства проекта, который мы будем отлаживать должны быть такими:

  • Host Application = C:WindowsSystem32inetsrvw3wp.exe
  • Parameters = -debug
  • Host Application = C:WindowsSystem32inetsrvw3wp.exe
  • Parameters = -debug -s 10

Чтобы отладить ISAPI-dll выполняем следующие действия:

  1. Останавливаем полностью работу IIS
  2. Ставим где надо точки останова
  3. Запускаем проект dll и убеждаемся, что процесс w3wp.exe стартовал:

4. Запускаем клиента, что-нибудь делаем и убеждаемся, что отладка проходит отлично:

Источник

radstudio logo

Sometimes the simple things are harder than you expected and dbexpress probably comes under that category, it was less express than I had expected but once you figure things out it does work. Some of the problems were my fault while others took time due to the obscur nature of the errors returned by XE and XE2.

If you start by adding the TSQLConnect component, select the MySQL driver and configure your HostName, Database, UserName and Password you can try and connect, you will most likely strike the following error :-

Show Plain Text

Text code

  1. DBX Error: Driver could not be properly initialized. Client library may be missing, not installed properly, of the wrong version, or the driver maybe be missing from the system path…

So once you figure out that your missing the libmysql.dll you might try and grab the latest MYSQL C Connector from dev.mysql.com, they are up to version 6.0.2 at the time of writing this, you’ll get the same error above. I was getting a more obscure crash before XE2 Update 1 which I didn’t note down at the time, that abstract error message took me a while to figure out and was related to the libmysql.dll version.

It would be nice if embarcadero provided a location where you could download the compatible libmysql.dll files that work with dbexpress, it is worth noting that the XE2 read me does come with the following note :-

Show Plain Text

Text code

  1. Supported Servers

  2. dbExpress

  3. MySQL 5.1, 5.0.27, 4.1* (Pro/Ent/Ult/Arch) (Driver dbxMYS.dll, Client libmysql.dll)

  4. The following combinations have been tested:

  5. LibMySQL.dll (5.1.XX)  DBXMys.dll  MySQL 4.0.XX Server  

  6. LibMySQL.dll (5.1.XX)  DBXMys.dll  MySQL 4.0.XX Server  

  7. LibMySQL.dll (5.1.XX)  DBXMys.dll  MySQL 5.0.XX Server  

  8. LibMySQL.dll (5.1.XX)  DBXMys.dll  MySQL 5.1.XX Server

To get a 5.1.XX compatible DLL you will need to download an achieved mysql complete installation zip and extract the DLL as no compatible versioned MYSQL C Connector package could be downloaded when I looked.

To save you some time I added zip download containing the win32 x86 libmysql.dll for those who wish to download.

This is libmysql.dll version 5.1.59 win32 x86 DLL which I have tested and works with both XE and XE2.

50 Responses to “Getting embarcadero dbexpress mysql working — DBX Error: Driver not initialized”

44.
w. swelam


Sep 28, 2012

Sorry, comments have been closed for this post.

В данном тексте напишем программу, которая будет подключаться к серверу и опрашивать таблицу с базами данных. Результаты запроса – список баз данных, будем отображать в выпадающий список TCombobox.

Как подключиться из Delphi к MySQL?

Для разработки этого примера, предполагаем, что мы уже хорошо работаем с самим сервером MySQL. Для этого можете прочитать мой цикл статей MySQL – первые шаги для новичков.

Создадим простейшее подключение из клиента Delphi. Разместим на форме следующие компоненты – несколько labeledEdit, кнопки Connect и Disconnect, SQLConnection1, StatusBar снизу и все это на вкладке PageControl, так как будем расширять программу, в следующих статьях.

1

Кнопку Connect обработаем таким образом

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

procedure TForm1.Button1Click(Sender: TObject);

begin

with sqlconnection1 do begin

Drivername:=‘MySQL’;

with params do begin

clear;

add(‘Hostname=’+LabeledEdit1.Text);

add(‘port=’+LabeledEdit2.Text);

add(‘User_name=’+LabeledEdit3.Text);

add(‘Password=’+LabeledEdit4.Text);

add(‘database=’+LabeledEdit5.Text);

end;

try

Connected:=true;

if connected=true then statusbar1.Panels[0].Text:=‘Connected’ else

statusbar1.Panels[0].Text:=‘Could not connect ‘;

except

showmessage(‘Error’);

statusbar1.Panels[0].Text:=‘Could not connect ‘;

end;

end;

end;


Кнопку Disconnected таким образом…

procedure TForm1.Button2Click(Sender: TObject);

begin

try

sqlconnection1.Connected:=false;

if sqlconnection1.connected=true then statusbar1.Panels[0].Text:=‘Connected’ else

statusbar1.Panels[0].Text:=‘Disconnected’;

except

showmessage(‘error’);

end;

end;


Проверяем работу программы,нажав на Connect…

2

Видим в StatusBar, надпись Connected, значит всё подключилось…

Теперь попробуем cобирать информацию о списке баз данных, для этого сделаем следующие вещи

Как получить список баз данных MySQL и вывести его в Delphi?

Добавим компонент SimpleDataSet1 – в него будем собирать данные из запроса о базах данных, и изменим LabeledEdit для выбора базы данных на ComboBox, чтобы выводить в него данные.

Когда Вы проделаете все шаги, результат будет примерно таким…

4

Итак, поехали…

Для того, чтобы нам получить список БД, нам изначально нужно законнектиться к базе под именем mysql и сделать такой запрос (Более подробно об обсуждении как делать запрос здесь)

SELECT schema_name FROM information_schema.schemata

То есть, если бы мы делали это из клиента mysql.exe, то получилось бы таким образом…

3

Но мы находимся в Delphi, поэтому, предлагаю обработать получение списка данных в момент FormCreate главной и пока единственной формы.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

procedure TForm1.FormCreate(Sender: TObject);

var DB:TStringlist; // Это список, в который будем загружать данные из SimpleDataSet

    i:integer;

begin /////////Автор кода Пантелеев Станислав, сайт digital-flame.ru

    //Стартовое подключение к БД

    with sqlconnection1 do begin

  Drivername:=‘MySQL’;

  with params do begin

    clear;

    add(‘Hostname=localhost’);

    add(‘port=3306’);

    add(‘User_name=root’);

    add(‘Password=masterkey’);

    add(‘database=mysql’);

  end;

      try

        connected:=true;

      except

      showmessage(‘error’);

      end;

    //with

    end;

   {Если всё нормально подключились начинаем собирать данные...}

   with simpledataset1 do   //Настраиваем Simpledataset…

    begin

      DataSet.CommandType:=ctQuery;

      DataSet.CommandText:=‘SELECT schema_name FROM information_schema.schemata’;

    end;

   //Загружаем данные

   DB:=Tstringlist.Create; // Создали в памяти список

   SimpleDataSet1.Connection:=sqlconnection1;  // подключаем simpledataset…

   if SimpleDataSet1.Active=false then SimpleDataSet1.Active:=true;

      SimpleDataSet1.DataSet.Active:=true;

   SimpleDataSet1.First; // Ставим курсор в начало

   while not SimpleDataSet1.Eof do

   begin

     DB.Add(SimpleDataSet1.FieldByName(‘schema_name’).AsString); // Загрузили в DB одно значение, соответствующее курсору

     SimpleDataSet1.Next; // перевели курсор на следующую запись…

   end;

   for i := 0 to DB.Count1 do combobox1.Items.Add(DB[i]);

   combobox1.ItemIndex:=0;

   DB.Free; // Удалили из памяти список

   sqlconnection1.Connected:=false; // Расконнектились…

//form create

end;


Соответственно обработку кнопки Connect тоже пришлось изменить таким образом, внедрив в неё combobox…

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

procedure TForm1.Button1Click(Sender: TObject);

begin

with sqlconnection1 do begin

  if connected=true then connected:=false;

  Drivername:=‘MySQL’;

  with params do begin

    clear;

    add(‘Hostname=’+LabeledEdit1.Text);

    add(‘port=’+LabeledEdit2.Text);

    add(‘User_name=’+LabeledEdit3.Text);

    add(‘Password=’+LabeledEdit4.Text);

    add(‘database=’+combobox1.Items[combobox1.ItemIndex]);

  end;

  try

  Connected:=true;

  if connected=true then statusbar1.Panels[0].Text:=‘Connected to ‘+combobox1.Items[combobox1.ItemIndex]

  except

  showmessage(‘Error’);

    statusbar1.Panels[0].Text:=‘Could not connect ‘;

  end;

end;

end;


Ну и под конец, немного разукрасил программу, использовав Alpha Skins…

5

Теперь введём неправильное значение

6

Исходники

46 MySQL Connection

Удачи в Ваших проектах. С уважением, Пантелеев Станислав.

> Как подключить Delphi к MySQL? не получаеться блин… 

:(

   

Опции темы

Rock
Дата 29.1.2005, 17:05 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 264
Регистрация: 13.1.2005
Где: Краснодар

Репутация: нет
Всего: 1

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

PM MAIL ICQ   Вверх
Kesh
Дата 29.1.2005, 19:22 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 3
Всего: 54

Rock
Заходим на http://www.zeoslib.net/ и скачиваем ZeosDBO — 6.1.5
Там все легко и понятно… Набор компонент для работы с MySQL…

———————

user posted image

PM MAIL WWW ICQ Skype   Вверх
Rock
Дата 31.1.2005, 15:06 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 264
Регистрация: 13.1.2005
Где: Краснодар

Репутация: нет
Всего: 1

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

А
Ага… а как их туда прикрутить? и пользоваться потом… Delphi 7

PM MAIL ICQ   Вверх
Mal Hack
Дата 31.1.2005, 15:59 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Мудрый…
****

Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261

Rock
в качестве альтернативы:
http://forum.vingrad.ru/index.php?showtopi…ad=#entry259563

PM ICQ   Вверх
Kesh
Дата 31.1.2005, 16:53 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 3
Всего: 54

Rock
Ну как обычно устанавливаются компоненты, через install…

.packagesdelphi6ZCore.dpk
.packagesdelphi6ZPlain.dpk
.packagesdelphi6ZParseSql.dpk
.packagesdelphi6ZDbc.dpk
.packagesdelphi6ZComponent.dpk

———————

user posted image

PM MAIL WWW ICQ Skype   Вверх
Хохол
Дата 5.3.2005, 12:36 (ссылка)
   |    (голосов: 0)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Unregistered

Это не проблема подключиться к локальной базе — вы подскажите как подключиться к удаленной базе которая лежит в инете?
к локальной в имя сервера пишем localhost или же для удаленных машин в локальной сели имя сервера на котором работает MySQL а как это проделать для инета???? smile

  Вверх
Mal Hack
Дата 5.3.2005, 14:01 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Мудрый…
****

Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261

IP или имя хоста, к примеру base.someserver.ru, при этом на base.someserver.ru должен быть разрешен коннект «из вне».

PM ICQ   Вверх
TicTak
Дата 10.3.2005, 14:36 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Шустрый
*

Профиль
Группа: Участник
Сообщений: 91
Регистрация: 2.3.2005

Репутация: нет
Всего: 1

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

PM   Вверх
Mal Hack
Дата 10.3.2005, 17:55 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Мудрый…
****

Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261

Можно через dbExpress, но он глючит, про ADO ничего не слышал.

PM ICQ   Вверх
Cetus
Дата 12.3.2005, 00:33 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Шустрый
*

Профиль
Группа: Участник
Сообщений: 141
Регистрация: 18.4.2004

Репутация: нет
Всего: 1

Mal Hack что значит DbExpress глючит? в чем это проявляется?

———————

Легко внести изменения в код.Трудно сделать это корректно.

PM MAIL   Вверх
Mal Hack
Дата 12.3.2005, 00:37 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Мудрый…
****

Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261

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

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

PM ICQ   Вверх
Cetus
Дата 12.3.2005, 00:46 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Шустрый
*

Профиль
Группа: Участник
Сообщений: 141
Регистрация: 18.4.2004

Репутация: нет
Всего: 1

у тебя какой сервер MySQL стоит?
я для 4.0.2 исопльзую

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

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

———————

Легко внести изменения в код.Трудно сделать это корректно.

PM MAIL   Вверх
Mal Hack
Дата 12.3.2005, 00:48 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Мудрый…
****

Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261

Cetus
лично я перепробовал все dll, в том числе и от 3.23.58…
Север на момент тестов был 4.0.13.

PM ICQ   Вверх
Cetus
Дата 12.3.2005, 01:08 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Шустрый
*

Профиль
Группа: Участник
Сообщений: 141
Регистрация: 18.4.2004

Репутация: нет
Всего: 1

значит мне повезло с libmysql.dll я ее на работе нашел,
попробовал — заработало! smile

———————

Легко внести изменения в код.Трудно сделать это корректно.

PM MAIL   Вверх
TicTak
Дата 22.3.2005, 19:41 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Шустрый
*

Профиль
Группа: Участник
Сообщений: 91
Регистрация: 2.3.2005

Репутация: нет
Всего: 1

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

PM   Вверх
Mal Hack
Дата 22.3.2005, 23:03 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Мудрый…
****

Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261

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

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

PM ICQ   Вверх
MacTep
Дата 23.11.2006, 01:20 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
***

Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: нет
Всего: 4

Цитата
IP или имя хоста, к примеру base.someserver.ru, при этом на base.someserver.ru должен быть разрешен коннект «из вне».

Что это значит? По умолчанию не разрешено? Как сделать так, чтобы с одтельного компа можно было коннектиться к базе данных на другом компе… Что и где нужно разрешить???

———————

(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг … :)

PM MAIL   Вверх
Anarhist
Дата 23.11.2006, 05:26 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Шустрый
*

Профиль
Группа: Участник
Сообщений: 89
Регистрация: 11.2.2006

Репутация: нет
Всего: нет

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

PM MAIL   Вверх
SergeBS
Дата 23.11.2006, 09:40 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
***

Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22

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

PM MAIL   Вверх
fidres
Дата 1.10.2007, 15:49 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Бывалый
*

Профиль
Группа: Участник
Сообщений: 159
Регистрация: 15.11.2006

Репутация: 1
Всего: 1

повторюсь, да простит меня модерская братия. ;)
http://forum.vingrad.ru/forum/topic-134547…y1272485/0.html

библиотеки дбэкспресса предназначены для одной единственной и неповторимой libmysql.dll, которая входила в поставку MySQL 3.2x версий! (при условии, что вы пытаетесь работать со стандартными библиотеками dbExpress’а из 7-ой Delphi!)
отсюда следует что:

  1. либо вы меняете libmysql.dll на нужную
  2. либо вы меняете сам dbExpress на тот, который бы смог работать с вашим мускулем!

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

———————

Исправьте ошибку в слове <ХЕРОШО> и я скажу Вам оптимист Вы или пессимист.

PM ICQ   Вверх
Likos
Дата 19.10.2007, 08:34 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 10
Регистрация: 19.10.2007

Репутация: нет
Всего: нет

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

PM MAIL ICQ   Вверх
Rodman
Дата 19.10.2007, 09:04 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

CIO
****

Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122

какой именно?

———————

CRM с функцией АвтоОбзвона

Лотереи мира

PM MAIL WWW Skype GTalk YIM MSN   Вверх
Likos
Дата 19.10.2007, 19:55 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 10
Регистрация: 19.10.2007

Репутация: нет
Всего: нет

Zeos хочу поставить

PM MAIL ICQ   Вверх
Deepthroat
Дата 21.10.2007, 17:48 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 18
Регистрация: 24.9.2007
Где: Outer Heaven

Репутация: нет
Всего: 2

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

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

PM MAIL WWW ICQ   Вверх
Likos
Дата 23.10.2007, 12:23 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 10
Регистрация: 19.10.2007

Репутация: нет
Всего: нет

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

PM MAIL ICQ   Вверх
nefesta
Дата 11.12.2007, 00:12 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 1
Регистрация: 10.12.2007

Репутация: нет
Всего: нет

В общем устанавливается ZEOS так:
1. Пропиши путь к папке с компонентами для соответствующей версии ZEOS в Tools-Options-Delphi Options-Library Win32 в:
— Library Path  (например, C:Program FilesBorlandDelphi7ZEOSDBO-6.6.1-betapackagesdelphi6)
— Browsing Path (например, C:Program FilesBorlandDelphi7ZEOSDBO-6.6.1-betapackagesdelphi6build)

2. В Делфе открываешь в следующем порядке:
.packagesdelphi7ZCore.dpk
.packagesdelphi7ZPlain.dpk
.packagesdelphi7ZParseSql.dpk
.packagesdelphi7ZDbc.dpk
.packagesdelphi7ZComponent.dpk 
.packagesdelphi7ZComponentDesign.dpk 

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

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

Вроде все.

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

PM MAIL   Вверх
fidres
Дата 13.12.2007, 08:38 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Бывалый
*

Профиль
Группа: Участник
Сообщений: 159
Регистрация: 15.11.2006

Репутация: 1
Всего: 1

жуткое дело…
эдак надо будет ещё и в реестре в ручную чего-нить писать…
а если версии поменяются? тогда что?
опять редактировать всё это безобразие?!
ЖУТЬ!

———————

Исправьте ошибку в слове <ХЕРОШО> и я скажу Вам оптимист Вы или пессимист.

PM ICQ   Вверх
Anark1
Дата 13.12.2007, 10:38 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: 1
Всего: 11

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

———————

Enjoy yourself, still you can…;)

user posted image

user posted image

PM MAIL ICQ   Вверх
bur
  Дата 28.6.2008, 11:11 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 2
Регистрация: 28.6.2008

Репутация: нет
Всего: нет

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

PM MAIL   Вверх
skyboy
Дата 28.6.2008, 11:59 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

неОпытный
****

Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260

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

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

PM MAIL   Вверх
bur
Дата 28.6.2008, 13:35 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 2
Регистрация: 28.6.2008

Репутация: нет
Всего: нет

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

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

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

PM MAIL   Вверх
Rowi
Дата 3.3.2013, 13:00 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Шустрый
*

Профиль
Группа: Участник
Сообщений: 54
Регистрация: 12.12.2005
Где: Украина

Репутация: нет
Всего: нет

Цитата(Хохол @  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, 13:03

PM MAIL   Вверх
Rowi
Дата 3.3.2013, 19:50 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Шустрый
*

Профиль
Группа: Участник
Сообщений: 54
Регистрация: 12.12.2005
Где: Украина

Репутация: нет
Всего: нет

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

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

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

PM MAIL   Вверх
Akella
Дата 4.3.2013, 13:01 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Творец
****

Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329

Цитата(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 секунд
Ну и обратись в ТП хостинга с вопросом о том, разрешены ли удалённые подключения с мускулу?

PM MAIL   Вверх
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) 0 Пользователей: « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »

Понравилась статья? Поделить с друзьями:
  • Datap bar age of empires 3 ошибка
  • Database connection error fahrenheit
  • Data download authorization error gta 3
  • Dark souls 3 как изменить внешность персонажа
  • Danfoss mcx коды ошибок