Odbc строка подключения excel

Odbc строка подключения excel

619 просмотра

1 ответ

1 Репутация автора

Я подключаюсь к файлам xlsx через ODBC с помощью следующей команды:

Это работает нормально, но мне всегда не хватает одной строки, когда в файле нет заголовка. Очевидно, это из-за параметра "HDR = YES", но я не могу понять, как отключить строку заголовка.

Я попытался "HDR = NO" и пропустил этот параметр, но безрезультатно. Я могу получить доступ к файлу, но я всегда теряю первую строку.

Может ли кто-нибудь помочь мне с этим?

Ответы (1)

плюса

1 Репутация автора

Я провел небольшое исследование.

Если вы открываете файл XLS или XLSX через драйвер, такой как

драйвер полностью игнорирует параметры. Таким образом, «HDR = NO» не имеет никакого эффекта.

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

Так что если вы установите FirstRowHasNames = 00, первая строка не будет пропущена.

Постановка задачи: необходимо создать подключение к файлам « MS Excel » через « ODBC ».

Для создания нового подключения в « Windows XP » нужно перейти в раздел «ПУСК – Панель управления – Администрирование – Источники данных ( ODBC )». Далее, на закладке « Пользовательский DSN » нажать кнопку «Добавить…».

Рис. 1. АИД ODBC , закладка «Пользовательский DSN »

Затем надо выбрать драйвер « Driver do Microsoft Excel (*. xls ) » .

Рис. 2. Выбор нужного драйвера

Далее нужно ввести имя и описание для нового подключения.

Рис. 3. Ввод имени и описания

После этого всего новое подключение появится в списке источников данных на закладке «Пользовательский DSN » окна «АИД ODBC ».

Рис. 4. Окно АИД ODBC , после добавления нового подключения

Читайте также:  Format c что за команда

Проверить работу только что созданного подключения можно в среде разработки « Delphi 7». Для этого в новом приложении нужно перетащить на форму компоненты: ADOConnection , ADOTable , DataSource , DBGrid .

Самое важное в этом деле это настроить строку подключения в компоненте « ADOConnection 1». Кликаем по нему 2 раза и запускается мастер создания строки подключения.

На закладке «Поставщик данных» выбираем « Microsoft OLE DB Provider for ODBC Driver ».

Рис. 5. Закладка «Поставщик данных»

Затем на закладке «Подключение» выбираем вариант «Использовать строку подключения» и начинаем использовать ее по полной. Т.к. в нашем подключении не указана конкретная БД, точнее файл. Нажимаем кнопку «Сборка…».

Рис. 6. Закладка «Подключение»

Потом выбираем источник на закладке «Источник данных компьютера» и жмем кнопку « Ок ».

Рис. 7. Закладка «Источник данных компьютера»

Появится диалог выбора конкретного файла на диске. Ищем нужный файл и выбираем.

Рис. 8. Диалог выбора файла

После этого можно проверить подключение, нажав на кнопку «Проверить подключение», но наверняка все в порядке.

Далее донастраиваем настройки компонентов. Параметр « ConnectionString » компонента « ADOConnection 1» можно переделать, а можно и так оставить. Дело в том, что этот параметр заполнился так, что свойство « DeafaultDatabase » по сути пустует, хотя все нормально работает и к файлу «Магазины. xls » доступ есть.

ConnectionString = «Prov > Extended Properties="DSN= Файлы MS Excel; DBQ= C:EXCEL Магазины . xls;DefaultDir =C:EXCEL ;Driver > FIL=excel 8.0;MaxBufferSize=2048;PageTimeout=5;"»

На работе встретился с такой задачей «Надо сделать отчет, который брал бы данные из 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
Prov >
то, что начинается с Provider и до MySQL и есть строка подключения, т.е. Prov > она нам понадобиться при настройке Excel.
4. Теперь скачиваем специально подготовленный мной документ Excel
5. Открываем, возможно будет ругаться из-за того, что у вас сервер отличный от моего.
6. Идем на вкладку Данные — Параметры — Источник данных — Свойства подключения — Вкладка Определения.
6.1. Вводим Строка подключения, которая у нас появилась ранее (п. 3.3.), вводим текст SQL команды и жмем Ок.

Читайте также:  Как изменить размер значков на панели задач

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

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Ссылка на основную публикацию
Adblock detector