С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/108: Рейтинг темы: голосов - 108, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 25.04.2007
Сообщений: 68

Подключение к MySQL

25.04.2007, 23:25. Показов 21089. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите плиз написать работающий код для подключения к MySQL. Перепробовал все на что способен, tools->connect to database тоже выдает ошибку (сервер работает удаленно и все пароли верны). Слышал про MySQL++ API интерфейс, но не смог понять что там и куда.
Прошу помощи...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2007, 23:25
Ответы с готовыми решениями:

Подключение к БД MySQL. Xamarin Studio: C#-PHP-MySQL
Здравствуйте! Необходимо реализовать подключение к удаленной БД MySQL. Пишу Android-приложение в Xamarin Studio на C#. Хочу сделать...

Подключение к БД MySQL. Xamarin Studio: C#-PHP-MySQL
Здравствуйте! Возникла проблема подключения к удаленной БД MySQL. Пишу Android-приложение в Xamarin Studio на C#. Хочу сделать...

Подключение к БД MySQL
Помогите создать подключение к бд посредством .НЕТ конектора... конектор скачал,добавил через разширения,также прописал импорт в...

11
Администратор
 Аватар для mik-a-el
87822 / 53143 / 249
Регистрация: 10.04.2006
Сообщений: 13,761
26.04.2007, 09:48
Поищи ODBC-драйвер для мускула и работай через него. Лучше использовать ADO.
1
0 / 0 / 0
Регистрация: 25.04.2007
Сообщений: 68
26.04.2007, 16:49  [ТС]
ADO.NET я пробавал
типа этого (часть кода)


SqlConnection* conn;
conn = new SqlConnection(......);
не работает, выдает ошибку подключения к мускулу.

Помогите пожалуйста найти ODBC-драйвер...
Спасибо
0
0 / 0 / 0
Регистрация: 25.04.2007
Сообщений: 68
26.04.2007, 16:49  [ТС]
буду очень признателен если кинете на почту
nvsidorov@mail.ru

заранее спасибо
0
Администратор
 Аватар для mik-a-el
87822 / 53143 / 249
Регистрация: 10.04.2006
Сообщений: 13,761
26.04.2007, 17:03
MySQL предоставляет поддержку интерфейса ODBC с помощью пакета MyODBC.

MyODBC представляет собой 32-bit ODBC (2.50) level 0 (с возможностями level 1 и level 2) драйвер для соединения ODBC-приложений с СУБД MySQL. MyODBC работает под Windows95, Windows98, NT и на некоторых Unix-системах.

MyODBC публично доступен, и Вы можете спокойно скачать его новейшую версию с http://www.mysql.com/downloads/api-myodbc.html.

Если Вы имеете проблему с MyODBC, и Ваша программа также работает с OLEDB, Вы должны попробовать драйвер для OLEDB, который Вы можете найти в разделе Contrib.

Обычно Вы должны установить MyODBC только на системах с Windows. Под Unix MyODBC Вам понадобится только, если Вы имеете программу подобную ColdFusion, которая выполняется на Unix-машине и использует ODBC, чтобы соединиться с базами данных.

Если Вы хотите устанавливать MyODBC под Unix, Вы будете также нуждаться в диспетчере ODBC. MyODBC, как известно, работает с большинством Unix ODBC-диспетчеров. Вы можете найти список ODBC-секции ссылок на страничке MySQL. Подробности в разделе "1.2.3 Хорошие ссылки по MySQL ".

Чтобы установить MyODBC в Windows, Вы должны загрузить соответствующий файл MyODBC .zip (для Windows9x или NT/Win2000), распаковывать его с помощью WINZIP или другой подобной программы и выполнить файл SETUP.EXE.

В Windows NT Вы можете получать следующую ошибку при попытке установить MyODBC:

An error occurred while copying C:\WINDOWS\SYSTEM\MFC30.DLL. Restart
Windows and try installing again (before running any applications
which use ODBC)

Проблема в этом случае состоит в том, что некоторая другая программа использует ODBC, а также из-за того, как неудобно устроена Windows, Вы не можете в этом случае установить новые ODBC-драйверы программой установки Microsoft ODBC setup. В большинстве случаев Вы можете продолжать установку, нажав кнопку Ignore, чтобы копировать остальную часть файлов MyODBC. Если это не работает, решение состоит в том, чтобы перезагрузить Ваш компьютер в safe mode (выберите это, нажимая F8 перед запуском Windows после перезагрузки), установить MyODBC и перезагрузиться назад в нормальный режим работы.

* Чтобы сделать соединение с Unix-системой из Windows, приложением ODBC (которое не поддерживает напрямую MySQL), Вы должно сначала установить MyODBC на машине Windows.
* Пользователь и Windows-машина должны иметь привилегии доступа к серверу MySQL на Unix-машине. Это должно быть установлено с помощью команды GRANT. Подробности в разделе "10.1 Синтаксис GRANT и REVOKE".
* Вы должны создать запись ODBC DSN следующим образом:
o Откройте Control Panel на Windows-системе.
o Дважды щелкните по пиктограмме ODBC Data Sources 32 bits.
o Нажмите метку User DSN.
o Нажмите кнопку Add.
o Выберите MySQL на экране Create New Data Source и нажмите кнопку Finish.
o Показывается экран конфигурации значений по умолчанию драйвера MySQL. Подробности в разделе "13.2 Как заполнять поля в программе администрирования ODBC".
* Теперь запустите Ваше приложение, и выберите ODBC-драйвер DSN, который Вы определили в администраторе ODBC.

Обратите внимание, что имеются другие опции конфигурации на экране MySQL (trace, don't prompt on connect, etc), которые Вы можете опробовать, если сталкиваетесь с проблемами.

Имеются три возможности для определения имени сервера в Windows95:

* Использовать IP-адрес сервера.
* Добавить в файл \windows\lmhosts следующую информацию:

ip hostname

Например:

194.216.84.21 my_hostname

* Настроить PC для использования DNS.

Пример того, как заполнить поля в ODBC setup:

Windows DSN name: test
Description: This is my test database
MySql Database: test
Server: 194.216.84.21
User: monty
Password: my_password
Port:

Значение для поля Windows DSN name: любое имя, которое является уникальным в Вашей Windows ODBC-установке.

Вы не должны определить значения для полей Server, User, Password или Port на экране установки ODBC. Однако, если Вы это сделаете, значения будут использоваться как значения по умолчанию позже, когда Вы попытаетесь сделать соединение. Тогда их можно поменять.

Если номер порта явно не задан, используется заданный по умолчанию порт (3306).

Если Вы определяете опцию Read options from C:\my.cnf, группы client и odbc будут читаться из файла C:\my.cnf.

Можно определять следующие параметры для MyODBC в разделе [Servername] файла ODBC.INI или через аргумент InConnectionString в вызове SQLDriverConnect().
Параметр Значение по умолчанию Комментарий
user ODBC (в Windows) username используемый, чтобы соединиться с MySQL.
server localhost Имя хоста сервера MySQL.
database Заданная по умолчанию база данных
option 0 Целое число, которым Вы можете определять, как MyODBC должен работать. Подробности ниже.
port 3306 Порт TCP/IP, чтобы использовать, если server не localhost.
stmt Команда, которая будет выполнена при установлении соединения с MySQL.
password Пароль для комбинации параметров server и user.
socket Сокет или именованный канал Windows.

Параметр option используется, чтобы сообщить MyODBC, что клиент не на 100% ODBC-совместим. В Windows обычно устанавливаются опции на экране соединения, но можно также устанавливать это в параметре option. Следующие опции перечислены в том же самом порядке, в каком они появляются на экране соединения MyODBC:
Bit Назначение
1 Клиент не может обрабатывать возвращаемую MyODBC реальную ширину столбца.
2 Клиент не может обрабатывать возвращаемое MySQL истинное значение числа обрабатываемых строк. Если этот флажок установлен MySQL возвращает найденные строки. Нужно иметь MySQL 3.21.14 или более новый, чтобы получить такую поддержку.
4 Создает файл регистрации отладки c:\myodbc.log. Это аналогично указанию MYSQL_DEBUG=d:t:O,c::\myodbc.log в AUTOEXEC.BAT.
8 Не устанавливать ограничение пакета для результатов и параметров.
16 Не запрашивать ничего, даже если драйвер хотел бы что-то запросить.
32 Моделировать драйвер ODBC 1.0 в некотором контексте.
64 Игнорировать использование имени базы данных в 'database.table.column'.
128 Принудительно использовать курсоры менеджера ODBC.
256 Отключить использование расширенной выборки.
512 Приводить поля CHAR к полной длине столбца.
1024 SQLDescribeCol() возвратит полное имя столбца.
2048 Использовать сжатый протокол сервера/клиента.
4096 Сообщает, чтобы сервер игнорировал пробел после имени функции и перед '(' (необходимо для работы с PowerBuilder). Эта опция сделает все имена функций ключевыми словами!
8192 Соединяться с именованными конвейерами с сервером mysqld под NT.
16384 Изменить столбцы LONGLONG на INT (некоторые приложения не могут обрабатывать LONGLONG).
32768 Вернуть 'user' как Table_qualifier и Table_owner из вызова SQLTables (экспериментально).
65536 Читать параметры из групп client и odbc файла настроек my.cnf.
131072 Добавляет некоторые дополнительные проверки безопасности (обычно не надо, но...).

Если Вы хотите иметь много опций, Вы должны сложить вышеупомянутые флажки. Например, установка option в 12 (4+8) дает Вам отладку без ограничений пакета.

По умолчанию MYODBC.DLL компилируется для оптимальной эффективности. Если Вы хотите отладить MyODBC (например, чтобы включить трассировку), Вы должны взамен использовать MYODBCD.DLL. Чтобы установить этот файл, скопируйте MYODBCD.DLL взамен установленной библиотеки MYODBC.DLL.
13.4 Как сообщать о проблемах с MyODBC

MyODBC был проверен с Access, Admndemo.exe, C++-Builder, Borland Builder 4, Centura Team Developer (прежде это был пакет Gupta SQL/Windows), ColdFusion (на Solaris и NT с svc pack 5), Crystal Reports, DataJunction, Delphi, ERwin, Excel, iHTML, FileMaker Pro, FoxPro, Notes 4.5/4.6, SBSS, Perl DBD-ODBC, Paradox, Powerbuilder, Powerdesigner 32 bit, VC++ и Visual Basic.

Если Вы знаете о любых других приложениях, которые работают с MyODBC, пожалуйста, напишите об этом на myodbc@lists.mysql.com!

С некоторыми программами Вы можете получать ошибку подобно: Another user has modifies the record that you have modified. В большинстве случаев это может быть решено следующим образом:

* Добавьте первичный ключ для таблицы, если он еще не имеется.
* Добавьте столбец timestamp, если его еще нет.
* Используйте только поля double float. Некоторые программы могут терпеть неудачу, когда они сравнивают single float.

ADO
Когда Вы программируете с API ADO и MyODBC, Вы должны принять во внимание некоторые заданные по умолчанию реквизиты, которые не обеспечиваются сервером MySQL. Например, использование реквизита CursorLocation Property как adUseServer возвратит для RecordCount Property результат -1. Сомневаюсь, что это входит в Ваши планы... Чтобы иметь правильное значение, Вы должны установить реквизит adUseClient так, как показано в коде на VB ниже:

Dim myconn As New ADODB.Connection
Dim myrs As New Recordset
Dim mySQL As String
Dim myrows As Long

myconn.Open "DSN=MyODBCsample"
mySQL = "SELECT * from user"
myrs.Source = mySQL
Set myrs.ActiveConnection = myconn
myrs.CursorLocation = adUseClient
myrs.Open
myrows = myrs.RecordCount

myrs.Close
myconn.Close

Другой вариант: использовать SELECT COUNT(*) для подобного запроса, чтобы получить правильное число строк.
Active server pages (ASP)
Вы должны использовать опцию Return matching rows.
BDE applications
Вы должны установить опции Don't optimize column widths и Return matching rows.
Borland Builder 4
Когда Вы начинаете запрос, Вы можете использовать реквизит Active или метод Open. Обратите внимание, что Active при запуске автоматически выдает запрос SELECT * FROM ..., который не может быть хорошим, если Ваши таблицы большие!
ColdFusion (под Unix)
Следующая информация поступила из документации на ColdFusion: Используйте следующую информацию, чтобы конфигурировать сервер ColdFusion для Linux, чтобы использовать драйвер unixODBC с MyODBC для источников данных MySQL. MyODBC Version 2.50.26 работает с MySQL Version 3.22.27 и Linux ColdFusion. Любая более новая версия должна также работать. Вы можете скачать MyODBC с http://www.mysql.com/downloads/api-myodbc.html ColdFusion Version 4.5.1 позволяет Вам через ColdFusion Administrator добавить источник данных MySQL. Однако, драйвер не включен в поставку ColdFusion Version 4.5.1. Прежде, чем драйвер MySQL появится в списке ODBC datasources, Вы должны сформировать и скопировать драйвер MyODBC в /opt/coldfusion/lib/libmyodbc.so. Каталог Contrib хранит программу mydsn-xxx.zip, которая позволяет Вам формировать и удалять файл записи DSN для MyODBC драйвера в Coldfusion.
1
0 / 0 / 0
Регистрация: 25.04.2007
Сообщений: 68
27.04.2007, 19:01  [ТС]
Спасибо
Драйвер умстановил, на локале он работает (localhost)
Но нее смог разобраться, как мне использовать драйвер в программе, например если пишу в console application (ADO.NET)
Помогите пожалуйста
0
Администратор
 Аватар для mik-a-el
87822 / 53143 / 249
Регистрация: 10.04.2006
Сообщений: 13,761
27.04.2007, 19:13
Для начала нужно получить строку подключения. Самое простое - создать .udl-файл, настроить его на этот драйвер и посмотреть его содержимое.
Ну а потом втываешь эту строку в connection и вперед
1
0 / 0 / 0
Регистрация: 25.04.2007
Сообщений: 68
27.04.2007, 19:27  [ТС]
udl файл? прошу прощения за вопрос, как его создать, с помощью каркаса visual c реально? Просто я знаком c .idl файлами, а udl раньше не делал.
Спасибо
0
0 / 0 / 0
Регистрация: 25.04.2007
Сообщений: 68
28.04.2007, 15:45  [ТС]
файл сделал, получил такие данные
[oledb]
; Everything after this line is an OLE DB initstring
Provider=MSDASQL.1;Persist Security Info=Falseata Source=MySQL ODBC

А куда их надо прописать (если пишу в ADO)?
Спасибо
0
0 / 0 / 0
Регистрация: 25.04.2007
Сообщений: 68
01.05.2007, 23:05  [ТС]
Помогите пожалуйста "добить" прогу...
Вставил в код строки

using namespace System:ata::Odbc;
.....
OdbcConnection* conn;
conn = new OdbcConnection(S"Provider=MSDASQL.1;Pers ist Security Info=Falseata Source=MySQL ODBC");

Строка в OdbcConnection - из udl файла
Выдает ошибку...
0
Гость
02.10.2007, 08:14
nikitos
В принципе mik-a-el тебе все прекрасно изложил в своем описании
Если не понятно, порой здесь
http://www.cgi-interactive-uk.... mysql.html
Так же есть тема здесь
http://www.vbmysql.com/article... l-basic-6/
Надеюсь проблем с английским у тебя нет.
А вообще нужно пользоваться поисковыми машинами.
Гость
11.10.2007, 21:41
http://view-code.blogspot.com/... -cnet.html
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.10.2007, 21:41
Помогаю со студенческими работами здесь

Подключение MySQL к C++
Вот есть статья: http://articles.org.ru/cn/showdetail.php?cid=6810. Я по ней пытался подключить MySQL к C++, но там есть строчка:"Если...

Подключение к mysql
пишу вот такой код подключения import java.sql.*; import java.lang.ClassNotFoundException; import java.io.*; import...

Подключение к MySQL
Уже давно пользуюсь MySQL, так что вроде не полный ламер, но на днях приключилась непонятная бедовина. Вдруг перестал работать сервер...

Подключение MySQL БД
Первый раз решил попробовать подключить БД к Билдеру. Скачал и установил mysql connector odbc. Создал пользовательский источник данных, в...

Подключение к MySQL
Осваиваю создание сайтов. Столкнулся с проблемой joomla. Испробовал в работе ver. 1.5.7; 2.5.7; 3.0.1 и все на первичном этапе выдают одну...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru