PDA

Показать полную графическую версию : Не получается подсоедениться к mySQL с помощью ADO


Sharkky
06-10-2003, 22:20
Пишу:

* *Set conn = New ADODB.Connection
* *Set rst = New ADODB.Recordset;
* *
* *
* *conn.ConnectionString = "DSN=MD; DRIVER=MySQL 3.51 Driver; LOCATION=c:\mysql\bin\mysql.exe" * *<--
* *
* *conn.Open
* *
* *rst.ActiveConnection = conn
* *rst.Open

... в этом месте вылвзит ошибка: Run-time error '-2147217908 (80040e0c0)'
Command text not set for the command Object

* *Подскажите в чём беда!

Megabizon
07-10-2003, 08:41
ИМХО. АДО заточено под нужды Мелкософта. Если хочешь юзать, то скачай ODBC драйвер для MySQL, установи, настрой в ODBC алиас на свою базу и уде к этому алиасу цепляй АДО. А еще есть компоненты прямого доступа ко многум СУБД, например ZeosLib, бесплатная.

Sharkky
07-10-2003, 17:29
ODBC Alias == DSN? Если равно, то не могли бы вы привести пример првильной ConnectString

Megabizon
07-10-2003, 18:12
Слушай, кажется я тебя не в ту сторону повел, не внимательный я сегодня, извини!
У тебя ошибка вылетает при rst.Open и тебе сообщают, что ты открываешь Recordset, не указав команду, которой его надо открыть. Я так понял, что ты на VBA пишешь, я в нем не очень, но утебя должно быть что-то вроде этого:

Set conn = New ADODB.Connection
Set rst = New ADODB.Recordset;
* *
* *
* conn.ConnectionString = "DSN=MD; DRIVER=MySQL 3.51 Driver; LOCATION=c:\mysql\bin\mysql.exe" * *<--
* *
conn.Open
* *
rst.ActiveConnection = conn

далее должно идти что-то вроде

rts.CommandType = <- Здесь ты должен указать тип комманды, которая будет исполнятся - текст, хранимая процедура и т.п. см. хелп.

rts.CommandText = <- текст самой команды (SELECT *... или INSERT INTO... или т.п.) или имя ХП

А вот после этого открываешь набор
rst.Open

Во всяком случае в Билдере я так делаю.
Еще раз извини, что сначала ввел в заблуждение.

Sharkky
09-10-2003, 08:59
Спасибо!




© OSzone.net 2001-2012