Подключение Excel к Mysql Update ПРОБЛЕМА. Подключение mysql к excel
Подключение MySQL в Excel
Приложение Excel позволяет создавать подключение к внешним источникам, в том числе базам данных. Но при необходимости подключиться к базе данных под управлением СУБД MySQL, возникает проблема. Программа просто «не умеет» этого делать, но «научить» ее легко.
Содержание статьи:
Установка драйвера
Прежде необходимо установить драйвер Connector/ODBC от Oracle Corporation, скачать который можно по адресу http://dev.mysql.com/downloads/connector/odbc/ (при выборе драйвера под определенную ОС есть важный нюанс, который будет описан ниже).
Создание источника данных
Далее необходимо создать источник данных ODBC. Для этого заходим в «Панель управления», выбираем пункт «Администрирование», в нем пункт «Источники данных (ODBC)». Откроется следующее окно:
Выбираем «Добавить» и попадаем в меню выбора драйвера:
В списке имеется два возможных драйвера для MySQL различных кодировок: Unicode и ANSI. Выбирайте необходимую Вам. Если не знаете, какая Вам нужна, или это не имеет значения, то лучше устанавливать Unicode.В параметрах подключения указываете:
- Произвольное название источника;
- Описание источника;
- Сервер и порт. Порт оставляйте по умолчанию, если того не требуют настройки сервера;
- Пользователь и пароль, как при подключении в phpMyAdmin.
Протестируйте подключение к источнику, нажав кнопку «Test». Если подключение прошло успешно, то в списке баз данных «Database» должен появиться список доступных баз. Выдираем необходимую и жмем «OK». Источник создан.
Подключение к источнику из Excel
Проходим в книге Excel на вкладку «Данные» -> раздел «Подключения» -> «Из других источников» -> «Из мастера подключения данных».
Выбираем «ODBC DSN» -> созданное ранее подключение.
Дальнейшая работа аналогична стандартному подключению к SQL Server.
Ошибка совпадения архитектур
После установки соответствующего драйвера на 64-разрядную ОС, создании источника и подключения к нему, даже если все сделано правильно, может быть выдана ошибка «dns архитектура драйвера и архитектура приложения не соответствуют друг другу».Проблема заключается в следующем. Вероятно, что во время инсталляции пакета программ Microsoft Office были выбраны параметры по умолчанию, при которых устанавливается 32-рязрядная версия. Таким образом, происходит несовпадение разрядностей драйвера и приложения.Решение – скачать и установить дополнительно драйвер для Windows 32-bit.Если установить только 32-битный драйвер, то подключение будет возможно, но создать источник через панель управления не получиться.
Если материалы office-menu.ru Вам помогли, то поддержите, пожалуйста, проект, чтобы мы могли развивать его дальше.
У Вас недостаточно прав для комментирования.
office-menu.ru
Соединение Excel с MySQL / Песочница / Хабр
На работе встретился с такой задачей «Надо сделать отчет, который брал бы данные из MySQL и закидывал его в таблицу Excel». Ну вот я сейчас и опишу процесс конекта. Есть: 1. Сервер MySQL 2. База данных на MySQL 3. Microsoft Excel 2010Начнем: 1. Самое первое что нужно сделать, это установить MySQL Connector, актуальную версию можно скачать здесь 2. Нужно создать источник данных, идем вот сюда Панель управления — Администрирование — Источники данных (ODBC) 2.1. Вкладка Пользовательский DSN — Добавить — MySQL ODBC 5.1 Driver (должен появиться после манипуляций с п.1) 2.2. Откроется окно настройки источника, там в поле Data Source Name нужно написать имя сервера MySQL, порт оставляем стандартным (если вы при установке сервера не указали иной), User — имя пользователя, скорее всего root, Password — пароль, Database — тут можно указать базу, к которой подключаться, если все правильно на начальных этапах, то в выпадающем списке уже появятся существующие БД на сервере. 2.3. Ок. Источник данных создан. 3. Теперь необходимо создать строку подключения. 3.1. В любом месте компьютера создайте текстовый файл и переименуйте его в тип файла .udl 3.2. В открывшемся окне Использовать источник данных — выбрать ранее созданный источник данных (п. 2), ввести Пользователь и Пароль, жмем Ок. 3.3. Теперь созданный файл надо открыть с помощью Блокнот'а и там будет что-то подобное:[oledb] ; Everything after this line is an OLE DB initstring Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=MySQL то, что начинается с Provider и до MySQL и есть строка подключения, т.е. Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=MySQL она нам понадобиться при настройке Excel. 4. Теперь скачиваем специально подготовленный мной документ Excel 5. Открываем, возможно будет ругаться из-за того, что у вас сервер отличный от моего. 6. Идем на вкладку Данные — Параметры — Источник данных — Свойства подключения — Вкладка Определения. 6.1. Вводим Строка подключения, которая у нас появилась ранее (п. 3.3.), вводим текст SQL команды и жмем Ок.
Все, если все правильно было сделано, то в правой части должны появиться поля, которые вы хотели выбрать. Советую на сервере протестировать синтаксис и правильность своего SQL запроса, чтобы не появлялись дополнительные вопросы. Лично я работаю с MySQL через HeidiSQL, там сделал запрос, а потом просто скопировал его в Excel.
habr.com
Подключение Excel к Mysql Update ПРОБЛЕМА
я подключаю к таблице тузд через VBA в Excel, и я его обновления:
Set cn = New ADODB.Connection cn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & _ "SERVER=localhost;" & _ "DATABASE=employees;" & _ "USER=root;" & _ "PASSWORD=M1llen;" & _ "Option=3" 'lets get the batch info ' ' open a recordset Set rs = New ADODB.Recordset rs.Open "batchinfo", cn, adOpenKeyset, adLockOptimistic, adCmdTable ' all records in a table from Report 1 'Set wsSheet1 = wbBook.Worksheets(1) ' better refer by name 'Set wsSheet1 = wbBook.Worksheets.("Report 1") Worksheets.Item("Report 1").Select dpath = Range("B2").Text atime = Trim(Range("B3").Text) rtime = Trim(Range("B4").Text) lcalib = Trim(Range("B5").Text) aname = Trim(Range("B6").Text) rname = Trim(Range("B7").Text) bstate = Trim(Range("B8").Text) instrument = GetInstrFromXML() With rs .AddNew ' create a new record ' add values to each field in the record .Fields("datapath") = "abc" .Fields("analysistime") = atime .Fields("reporttime") = rtime .Fields("lastcalib") = lcalib .Fields("analystname") = aname .Fields("reportname") = rname .Fields("batchstate") = bstate .Fields("instrument") = instrument .Update ' stores the new record End Withздесь ıA DESC из batchinfo таблицы MySQL:
mysql> desc batchinfo; +--------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------+------+-----+---------+----------------+ | rowid | int(11) | NO | PRI | NULL | auto_increment | | datapath | text | YES | | NULL | | | analysistime | text | YES | | NULL | | | reporttime | text | YES | | NULL | | | lastcalib | text | YES | | NULL | | | analystname | text | YES | | NULL | | | reportname | text | YES | | NULL | | | batchstate | text | YES | | NULL | | | instrument | text | YES | | NULL | | +--------------+---------+------+-----+---------+----------------+ 9 rows in set (0.00 sec)я действительно нужен кто-то, чтобы ответить на этот вопрос, я не заботьтесь, если у вас есть догадка или не совсем уверен, я попробую любое решение
stackoverrun.com
Решение: Подключение MySQL к Excel с запросом
Всем добрый день, Крайняя необходимость возникла, подключить SQL данные и выгрузить их на листок, пробовал вот такой кодSub excelmysql() Dim Conn As New ADODB.Connection Dim server_name As String Dim database_name As String Dim user_id As String Dim password As String server_name = "sqlserver2" database_name = "esa14" user_id = "логин" password = "пароль" Set Conn = New ADODB.Connection Conn.Open "DRIVER={MySQL ODBC 3.51 Driver}" _ & ";SERVER=" & server_name _ & ";DATABASE=" & database_name _ & ";UID=" & user_id _ & ";PWD=" & password _ & ";OPTION=3" End SubНо он мне выдает неизвестную ошибку, может надо писать полный путь к серверу? либо не нужно указывать логин пароль, так как я локально без логина и пароля подключаюсь?, а мне нужно что бы я мог подключиться и спомощью этого запроса вытащить мне нужные данные, см. нижеSELECT dbo.c_UserGroup.FullNameRus AS Дистрибьютор, dbo.c_InternalShop.[key] AS КодТТЛ, dbo.c_InternalShop.shopName AS Название, dbo.c_InternalShop.address_street AS Улица, dbo.c_InternalShop.address_house AS Дом, dbo.c_InternalShop.shopBoard AS Вывеска, dbo.c_ClientShop.[key] AS [Код ТТ] FROM dbo.c_InternalShop LEFT OUTER JOIN dbo.c_UserGroup ON dbo.c_InternalShop.userGroupId = dbo.c_UserGroup.ID LEFT OUTER JOIN dbo.c_ClientShop ON dbo.c_InternalShop.id = dbo.c_ClientShop.mapId WHERE (dbo.c_UserGroup.FullNameRus NOT LIKE '%подключение%') AND (dbo.c_UserGroup.FullNameRus NOT LIKE '%(НР)%') AND (dbo.c_UserGroup.FullNameRus NOT LIKE '%(ВНР)%') AND (dbo.c_UserGroup.FullNameRus NOT LIKE '%Велес Групп. Москва%') AND (dbo.c_UserGroup.FullNameRus NOT LIKE '%Невский берег. Москва%') AND (dbo.c_ClientShop.[key] IS NOT NULL) AND (dbo.c_UserGroup.FullNameRus = 'Переменная из другого листочка ексель') GROUP BY dbo.c_UserGroup.FullNameRus, dbo.c_InternalShop.[key], dbo.c_InternalShop.shopName, dbo.c_InternalShop.shopBoard, dbo.c_InternalShop.address_street, dbo.c_InternalShop.address_house, dbo.c_ClientShop.[key]Честно пока даже не очень представляю как он выводит эти данные на листок. Товарищи, направьте слепого на путь истинный пожалуйста))Подключение MySQL в Excel
Приложение Excel позволяет создавать подключение к внешним источникам, в том числе базам данных. Но при необходимости подключиться к базе данных под управлением СУБД MySQL, возникает проблема. Программа просто «не умеет» этого делать, но «научить» ее легко.
Содержание статьи:
Установка драйвера
Прежде необходимо установить драйвер Connector/ODBC от Oracle Corporation, скачать который можно по адресу http://dev.mysql.com/downloads/connector/odbc/ (при выборе драйвера под определенную ОС есть важный нюанс, который будет описан ниже).
Создание источника данных
Далее необходимо создать источник данных ODBC. Для этого заходим в «Панель управления», выбираем пункт «Администрирование», в нем пункт «Источники данных (ODBC)». Откроется следующее окно:
Выбираем «Добавить» и попадаем в меню выбора драйвера:
В списке имеется два возможных драйвера для MySQL различных кодировок: Unicode и ANSI. Выбирайте необходимую Вам. Если не знаете, какая Вам нужна, или это не имеет значения, то лучше устанавливать Unicode.В параметрах подключения указываете:
- Произвольное название источника;
- Описание источника;
- Сервер и порт. Порт оставляйте по умолчанию, если того не требуют настройки сервера;
- Пользователь и пароль, как при подключении в phpMyAdmin.
Протестируйте подключение к источнику, нажав кнопку «Test». Если подключение прошло успешно, то в списке баз данных «Database» должен появиться список доступных баз. Выдираем необходимую и жмем «OK». Источник создан.
Подключение к источнику из Excel
Проходим в книге Excel на вкладку «Данные» -> раздел «Подключения» -> «Из других источников» -> «Из мастера подключения данных».
Выбираем «ODBC DSN» -> созданное ранее подключение.
Дальнейшая работа аналогична стандартному подключению к SQL Server.
Ошибка совпадения архитектур
После установки соответствующего драйвера на 64-разрядную ОС, создании источника и подключения к нему, даже если все сделано правильно, может быть выдана ошибка «dns архитектура драйвера и архитектура приложения не соответствуют друг другу».Проблема заключается в следующем. Вероятно, что во время инсталляции пакета программ Microsoft Office были выбраны параметры по умолчанию, при которых устанавливается 32-рязрядная версия. Таким образом, происходит несовпадение разрядностей драйвера и приложения.Решение – скачать и установить дополнительно драйвер для Windows 32-bit.Если установить только 32-битный драйвер, то подключение будет возможно, но создать источник через панель управления не получиться.
webhamster.ru
Подключение MySQL в Excel ~ Страницы Интернета
Для обработки данных в Excel требуется сначала получить сами данные. Часто такая информация находится во внешних источниках, а именно базах данных. В этой статье описывается подключение электронных таблиц к БД MS SQL Server. На вкладке «Данные» имеется область «Получение внешних данных» на которой необходимо кликнуть по кнопке «Из других источников». Раскроется список источников, к которым можно осуществить подключение. В этом списке выберите пункт «С сервера SQL Server».Теперь на экране появилось окно мастера подключения к данным. Изначально требуется указать имя сервера и учетные сведения для подключения (если Вы их не знаете, то обратитесь к администратору БД).После заполнения формы нажмите кнопку «Далее», чтобы перейти к выбору базы данных.Здесь же можно выбрать таблицы, из которых будут грузиться данные, или же снять галочку с пункта «Подключение к определенной таблице». Нажмите кнопку «Далее», чтобы задать имя файла подключения и описание, чтобы в дальнейшем было проще найти данный файл.Нажав кнопку «Готово», Вам будет предложено произвести импорт данных с сервера (если в мастере подключений Вами не была выбрана таблица, то сначала ее придется выбрать).В текущем окне можно выбрать место и способ представления импортируемых данных: таблица, сводная таблица, сводная диаграмма или пропустить импорт, выбрав пункт «Только создать подключение».SQL-запрос
По умолчанию, при импорте из SQL Server, Excel выгружает всю таблицу. Можно изменить выборку, указав SQL-запрос. Для этого во время импорта данных (предыдущий рисунок) необходимо кликнуть по кнопке «Свойства», если подключение создается впервые, либо, если файл подключения уже был добавлен к книге, на вкладке «Данные» в области «Получение внешних данных» кликнуть по кнопке «Подключения», выбрать нужное из списка и открыть его свойства.В свойствах подключения на вкладке «Определение» в поле «Тип команды» поменяйте значение на «SQL», а в поле «Текст команды» введите SQL-код и нажмите «ОК».Теперь, чтобы получить данные с помощью нового подключения, достаточно вызвать его из существующих подключений на вкладке «Данные» в области «Получение внешних данных». Дальнейшая процедура импорта аналогична рассмотренному выше.internet-pages.blogspot.com
Подключение к MySQL Базе Данных из vba-приложения. Экспорт данных из Excel в MySQL
Для того что бы получить доступ к MySQL из VBA нам понадобится не так уж много:- В References... vba-проекта добавить библиотеку Microsoft ActiveX Data Objects 6.1 Library
- Скачать и установить подходящей для вашей версии операционной системы ODBC драйвер. Скорее всего подойдет MySQL ODBC 3.51 Driver. Скачать этот драйвер можно с сайта MySQL: http://dev.mysql.com/downloads/connector/odbc/3.51.html#downloads
- Собственно, попробовать подключиться к БД:
Первый парметр указывает на резмещение сервер. Там может быть IP-адрес, или домен,дальше — конкретная база данных,имя пользователя,пароль,порт (по умолчанию 3306),указание кодировки excel, для того, что бы при попытки записать в utf-8 базу данных кириллицу не получились кракозябры,последний параметр — без понятия о чем %)
Ниже пару примеров работы с базой данных.
Получение данных из базы данных:
Dim cmd As ADODB.Command 'переменная в которой будет запрос Set cmd = New ADODB.Command Dim rec As ADODB.Recordset 'переменная в которой будет результат запроса Set rec = New ADODB.Recordset Set cmd.ActiveConnection = oConn 'указываем соединение из примера выше cmd.CommandText = "select * from user" 'собственно, запрос cmd.CommandType = adCmdText cmd.Execute Set rec.ActiveConnection = oConn rec.Open cmd Debug.Print (rec.Fields("login").Value)Отправка данных в базу данных:
Dim lg As String Dim ps As String Dim fn As String lg = "pupkin" ps = "qwerty" fn = "Вася Пупкин" cmd.CommandText = "INSERT INTO user (login, password, full_name) VALUES ('" & lg & "', '" & ps & "', '" & fn & "')" cmd.Executeegregors.blogspot.com