2013-08-13 9 views
0

Прошло много времени с тех пор, как я использовал VB6, и тогда я не использовал соединения MySql или DSN, но я работаю над устаревшим приложением, которое их использует. Когда я пытаюсь открыть подключения Я получаю Data source not found and no default driver specified с этим кодомОшибка при попытке подключения к MySql с использованием DSN

Dim conn As ADODB.Connection 
Dim cmd As ADODB.Command 
Dim rs As ADODB.Recordset 
Dim sql As String 

Set rs = New ADODB.Recordset 
Set cmd = New ADODB.Command 
Set conn = New ADODB.Connection 

conn.Open "DSN=AddressHealthcheck" '<- Fails on this statement 

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

AddressHealthcheck существует в локальной системе DSN, использует MySql ODBC 5.1 Driver и успешно соединяется при тестировании.

Я уверен (и надеюсь), что я пропустил что-то очевидное. Какие-либо предложения?

Спасибо, Кевин

+2

http://stackoverflow.com/questions/10024474/mysql-sample-for-visual-basic-6-0-read-write – rags

ответ

0

Я использую ODBC без DSN, хранящийся в UDL. В основном это файл с строкой подключения. Возможно, строка подключения будет полезна. Вот пример:

[oledb] 
; Everything after this line is an OLE DB initstring 
Provider=MSDASQL.1;Persist Security Info=True;Extended Properties="Driver=MySQL ODBC 5.1 Driver;SERVER=mysqlsvr;UID=userid;PWD=password;DATABASE=mydatabase;PORT=3306;OPTION=18475";Initial Catalog=mydatabase 
0

тряпки комментарий (выше) не является решением, но это определенно помогло отслеживать его вниз.

При использовании полной строки подключения сообщение об ошибке было другим и гораздо более полезным, драйвер не смог загрузить.

Проблема заключается в том, что, поскольку я на 64-битной машине, это был 64-битный драйвер. VB6 не может использовать 64-битный драйвер, а 32-разрядный драйвер не отображается в ODBC Connection Administrator на 64-битной машине.

DSN не является вариантом в моей машине.

0

В системе с 64-разрядной системой имеется два инструмента администрирования ODBC. Запустите 32-разрядную версию. Или еще лучше отказаться от ODBC и получить поставщика OLEDB для MySQL.

0

Я исследовал это на 1 рабочий день (вчера). Сегодня я понял некоторые ошибки, которые у меня были вчера, чтобы это работало.

Dim Conexion Как Новый ADODB.Connection

conexion.ConnectionString = "DSN = yourDsnName" conexion.open

Не забудьте ...

  1. Создайте пользователя в ваш сервер mysql, который имеет все привилегии, которые вам нужны.
  2. Назначьте имя или IP-адрес сервера, откуда он будет подключаться к mysql
  3. Создайте свой dsn на клиентской машине с правильными параметрами en, чтобы проверить его.