C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
MySQL
Spalax
Отправлено: 15.02.2006, 08:28


Не зарегистрирован







Прошу простить если задаю глупые вопросы но у меня стала проблема. МНе нужно с помощью С++Builder Соединиться с базой MYsql и всё ето происходит в Винде .... подскажите есть ли какая нить библиотека для етого .. или что нить подобное ?
olegenty
Отправлено: 15.02.2006, 08:40


Ветеран

Группа: Модератор
Сообщений: 2412



1. компоненты прямого доступа, например MyDAC
2. ODBC драйвер (сторонний) + ADO (входит в BCB)
3. dbExpress драйвер (сторонний) + компоненты (входят в BCB)

Отредактировано olegenty — 15/02/2006, 09:41
Guest
Отправлено: 15.02.2006, 09:03


Не зарегистрирован







QUOTE (olegenty @ 15/02/2006, 08:40)
1. компоненты прямого доступа, например MyDAC
2. ODBC драйвер (сторонний) + ADO (входит в BCB)
3. dbExpress драйвер (сторонний) + компоненты (входят в BCB)

Ето конечно зхорошо но он не соединяет и говорит что не может найти библиотеку libmysql.h может кто подскажет как мне соединиться с базой плиззз
olegenty
Отправлено: 15.02.2006, 09:08


Ветеран

Группа: Модератор
Сообщений: 2412



может ты для начала опишешь, КАК ты пытаешься соединиться?
Guest
Отправлено: 15.02.2006, 09:18


Не зарегистрирован







QUOTE (olegenty @ 15/02/2006, 09:08)
может ты для начала опишешь, КАК ты пытаешься соединиться?

Вообщем всё очень просто беру я компонент SQLConnection там выбераю базу данных мускла после чего ввожу там все параметры типа логина праоля базы сервера.... с тем что оно от меня треболвало я разобрался ... а вот теперь он просто всё время говорит что у меня не правильный логин и пароль хотя ПХП май админ подключаеться с етим логином и паролем на ура .... но есть ещё одна пробьлема у меня мускул стоит не на своем стандартном порту тоесть (3306) а на один порт выше тоесть (3307) я думаю что именно из за етого проблема потому что я думаю сишный компонент не сканит же все порты на присутствие мускла ... покрайней мере я так думаю ... может кто подскажет ?
olegenty
Отправлено: 15.02.2006, 09:20


Ветеран

Группа: Модератор
Сообщений: 2412



почитай инфу по конкретному DBX драйверу. где-то в параметрах соединения должно быть возможным указывать и порт тоже.
Guest
Отправлено: 15.02.2006, 09:25


Не зарегистрирован







QUOTE (olegenty @ 15/02/2006, 09:20)
почитай инфу по конкретному DBX драйверу. где-то в параметрах соединения должно быть возможным указывать и порт тоже.

Да нигде в параметрах нету такого понятия как порт .... я пробовал выставлять в таком виде типа ServerName=localhost:3307 но тупо ноль на масу таколе впечатление что он соединяеться с базой данных и действительно не правильный логин и пароль .ю.. но етого просто быть не может ... я тут же подключаюсь чере командную строку ... с теми же Логином и паролем и всё окей .... а етот компонент тупо не может и всё
spiller
Отправлено: 01.07.2006, 00:07


Ученик-кочегар

Группа: Участник
Сообщений: 27



Всем привет!
Я также решил поближе познакомится с ADO, а именно на примере MySQL.
Скачал ,значит я драйвер, MySQL ODBC 3.51, установил его благополучно.
Далее когда пытаюсь настроить свойство ConnectionString компонента TADoConnection, то когда мне требуется выбрать поставщика OLE DB, то там я записи MySQL ODBC 3.51 не наблюдаю.
Пробовал насильно выставить так:

[CODE]
"DRIVER={MySQL ODBC 3.51 Driver};SERVER=data.domain.com;PORT=3306;DATABASE=myDatabase; USER=myUsername;PASSWORD=myPassword;OPTION=3;"
[CODE]

Тоже не выходит:"Источник данных не найден или не указан драйвер, используемый по умолчанию"

Что самое интересно, в SQL ADministrator использую пункт меню OBject->ODBC Administrator, мне без проблем удается создать источник данных!

Хелп ми плиз!
olegenty
Отправлено: 01.07.2006, 07:39


Ветеран

Группа: Модератор
Сообщений: 2412



провайдером должен быть выбран "OLE DB Provider for ODBC Drivers"
spiller
Отправлено: 01.07.2006, 13:22


Ученик-кочегар

Группа: Участник
Сообщений: 27



Спасибо!
spiller
Отправлено: 01.07.2006, 17:31


Ученик-кочегар

Группа: Участник
Сообщений: 27



Снова проблема, на это раз покруче:

Делаю всё так, как господин olegenty "прописал".

При формировании строки подключения хочу проверить соединения. Получаю ошибку:
Ошибка связи с данными Microsoft
Текст ошибки: Не выполнена проверка подключения из-за ошибки при инициализации поставщика. Критический сбой.

Раз 15 уже переустанавливал mysql. Столько же раз ребутался., толку — 0.

Опять очень рассчитываю на вашу помощь!

Отредактировано spiller — 01/07/2006, 17:31
olegenty
Отправлено: 03.07.2006, 07:12


Ветеран

Группа: Модератор
Сообщений: 2412



1. Ставишь ODBC-драйвер MySQL
2. Создаёшь ODBC-источник данных MySQL, ссылающийся на твою БД
3. В программе, для TADOConnection при формировании строки подключения выбираешь в качестве Provider "OLE DB Provider for ODBC Drivers" (вкладка 1)
4. На вкладке 2 выбираешь СВОЙ созданный источник данных п. 2.

Всё, если ты не сделал ошибок — будет работать.

Да, и не изобретай велосипед, написуя свой редактор для формирования строки подключения. среди функций для работы с ADO имеет место функция PromptDataSource, правда, она не документированная, зато работает как надо. Используется так:
CODE

Connection->ConnectionString = PromptDataSource(reinterpret_cast<unsigned int>(Handle),
                             Connection->ConnectionString);


Отредактировано olegenty — 03/07/2006, 08:17

Вернуться в Работа с базами данных в C++Builder