Софт-Портал

Что Такое Odbc

Рейтинг: 5.0/5.0 (26 проголосовавших)

Категория: Windows

Описание

Как подключить базу данных ODBC?

Вопрос: Как подключить базу данных ODBC?

1. Если на Вашем компьютере установлена операционная система Windows не старше Windows 7 32-бит, нужно открыть окно "Панель управления", выбрать команду "Администрирование" (рисунок 1).

В окне "Администрирование" выбрать команду "Источники данных (ODBC)" (рисунок 2).

В открывшемся окне "Администратор источников данных ODBC" на вкладке "Пользовательский DSN" проверить какое имя используется для "Microsoft Access Driver (*.mdb) или Microsoft Access Driver (*.mdb, *.accdb)". Если используется имя "MS Access Database", то необходимо добавить имя "База данных MS Access" и наоборот, если используется имя "База данных MS Access", то необходимо добавить имя "MS Access Database". Для этого необходимо нажать кнопку "Добавить" (рисунок 3).


Рис. 3 – Окно "Администратор источников данных ODBC"

В открывшемся окне "Создание нового источника данных" необходимо выбрать "Driver do Microsoft Access (*.mdb)" (рисунок 4).

И в поле "Имя источника данных" написать соответствующее имя источника данных (База данных MS Access или MS Access Database) (рисунок 5а, 5б).


Рис. 5а – Окно "Установка драйвера ODBC для Microsoft Access"


Рис. 5б – Окно "Установка драйвера ODBC для Microsoft Access"

2. Если на Вашем компьютере установлена операционная система Windows 7 64-бит, нужно в папке "С:\Windows\SysWOW64" запустить файл odbcad32.exe (рисунок 6).


Рис. 6 – Запуск программы odbcad32.exe для Windows 7 64-бит

В результате откроется окно "Администратор источников данных ODBC" (рисунок 7) и нужно выполнить действия, показанные ранее на рисунках 3-5.


Рис. 7 – Окно "Администратор источников данных ODBC" для Windows 7 64-бит

По всем возникающим вопросам можете звонить на телефон +7 (903) 724-8760, +7 (495) 724-8760, +7 (985) 154-9069 .

что такое odbc:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    ODBC - это

    ODBC это:

    ODBC (англ.   Open Database Connectivity ) — это программный интерфейс (API ) доступа к базам данных. разработанный фирмой Microsoft. в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI), который разрабатывался [1] организациями SQL Access Group. X/Open и Microsoft. Впоследствии CLI был стандартизован ISO [2]. Стандарт CLI призван унифицировать программное взаимодействие с СУБД. сделать его независимым от поставщика СУБД и программно-аппаратной платформы.

    В начале 1990 г. существовало несколько поставщиков баз данных, каждый из которых имел собственный интерфейс. Если приложению было необходимо общаться с несколькими источниками данных, для взаимодействия с каждой из баз данных было необходимо написать свой код. Для решения возникшей проблемы Microsoft и ряд других компаний создали стандартный интерфейс для получения и отправки источникам данных различных типов. Этот интерфейс был назван Open Database Connectivity, или открытый механизм взаимодействия с базами данных .

    C помощью ODBC прикладные программисты могли разрабатывать приложения для использования одного интерфейса доступа к данным, не беспокоясь о тонкостях взаимодействия с несколькими источниками.

    Это достигается благодаря тому, что поставщики различных баз данных создают драйверы, реализующие конкретное наполнение стандартных функций из ODBC API с учётом особенностей их продукта. Приложения используют эти функции, реализованные в соответствующем конкретному источнику данных драйвере, для унифицированного доступа к различным источникам данных.

    MFC усовершенствовала ODBC для разработчиков приложений. Истинный интерфейс ODBC является обычным процедурным API. Вместо создания простой оболочки процедурного API разработчики MFC создали набор абстрактных классов, представляющих логические сущности в базе данных.

    См. также Примечания Ссылки Смотреть что такое "ODBC" в других словарях:

    ODBC — [Abk. fur Open Database Connectivity, dt. »Vernetzung fur offene Datenbanksysteme«], eine von der SQL Access Group (SAG) unter der Federfuhrung von Microsoft entwickelte standardisierte Anwendungsprogrammierschnittstel … Universal-Lexikon

    ODBC — son las siglas de Open DataBase Connectivity, un estandar de acceso a Bases de Datos desarrollado por Microsoft Corporation, el objetivo de ODBC es hacer posible el acceder a cualquier dato de cualquier aplicacion, sin importar que Sistema Gestor … Enciclopedia Universal

    ODBC — (Open Database Connectivity) standard developed by Microsoft that enables users to access data from within any application regardless of the type of database management system used (Computers) … English contemporary dictionary

    ODBC — In computing, ODBC (Open Database Connectivity) is a standard C interface for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An application can use ODBC… … Wikipedia

    ODBC — Open Database Connectivity (ODBC, dt. etwa: „Offene Datenbank Verbindungsfahigkeit“) ist eine standardisierte Datenbankschnittstelle, die SQL als Datenbanksprache verwendet. ODBC bietet also eine Programmierschnittstelle (API), die es einem… … Deutsch Wikipedia

    ODBC — Open Database Connectivity Open DataBase Connectivity (ODBC) est un ensemble API/pilote permettant la communication entre des clients de bases de donnees et les systemes de gestion de base de donnees du marche. En 1992, un sous comite du SQL… … Wikipedia en Francais

    ODBC — Abk. fur Open DataBase Connectivity; unter Windows bereitgestellte Schnittstelle fur Anwendungen, die Zugriffe auf Datenbanken realisieren wollen. Der Vorteil von ODBC besteht in der Unabhangigkeit der Anwendungsprogrammierung von der zugrunde… … Lexikon der Economics

    ODBC — Open Data Base Connectivity (Computing » General) … Abbreviations dictionary

    ODBC — open database connectivity … Medical dictionary

    ODBC — Open DataBase Connectivity Tool von EXCEL/Microsoft zum SQL Datenbankzugriff … Acronyms

    Книги
    • Практическое руководство по доступу к данным (+ DVD). Гудсон Джон. Показано, насколько значительно промежуточный слой программного обеспечения может влиять на производительность приложений. Обсуждаются принципы и практическиеметоды разработки кода,… Подробнее Купить за 432 руб
    • Web-интерфейс баз данных ODBC. Р. М. Ганеев. Рассматриваются компоненты проектирования Web-приложений для работы с базами данных в Интернет. Показаны способы создания виртуальных каталогов, регистрации источников данных и проектирования… Подробнее Купить за 218 руб
    • Web-интерфейс баз данных ODBC. Р. Ганеев. Рассматриваются компоненты проектирования Web-приложений для работы с базами данных в Интернет. Показаны способы создания виртуальных каталогов, регистрации источников данных и проектирования… Подробнее Купить за 150 руб
    Другие книги по запросу «ODBC» >>

    ODBC (Open DataBase Connectivity)

    Технология «клиент-сервер»

    Client - server ) — сетевая архитектура, в которой устройства являются либо клиентами. либо серверами. Клиентом ( front end ) является запрашивающая машина (обычно ПК), сервером ( back end ) — машина, которая отвечает на запрос. Оба термина (клиент и сервер) могут применяться как к физическим устройствам, так и к программному обеспечению.

    Сеть с выделенным сервером (англ.

    Сlient / Server network ) — это локальная вычислительная сеть (LAN). в которой сетевые устройства централизованы и управляются одним или несколькими серверами. Индивидуальные рабочие станции или клиенты (такие, как ПК) должны обращаться к ресурсам сети через серве р( ы ).

    Клиент-сервернаяСУБД позволяет обмениваться клиенту и серверу минимально необходимыми объёмами информации. При этом основная вычислительная нагрузка ложится на сервер. Клиент может выполнять функции предварительной обработки перед передачей информации серверу, но в основном его функции заключаются в организации доступа пользователя к серверу.

    В большинстве случаев клиент-серверная СУБД гораздо менее требовательна к пропускной способности компьютерной сети, чем файл-серверная СУБД. особенно при выполнении операции поиска в базе данных по заданным пользователем параметрам, т.к. для поиска нет необходимости получать на клиент весь массив данных: клиент передаёт параметры запроса серверу. а сервер производит поиск по полученному запросу в локальной базе данных. Результат выполнения запроса, который обычно на несколько порядков меньше по объёму, чем весь массив данных, возвращается клиенту. который обеспечивает отображение результата пользователю.

    ODBC (Open DataBase Connectivity) — это открытый интерфейс доступа к базам данных, разработанный фирмой X/ Open .

    В начале 1990 г. существовало несколько поставщиков баз данных, каждый из которых имел собственный интерфейс. Если приложению было необходимо общаться с несколькими источниками данных, для взаимодействия с каждой из баз данных был необходим нестандартный код. Для решения возникшей проблемы Microsoft и ряд других компаний создали стандартный интерфейс для получения и отправки данных источникам данных различных типов. Этот интерфейс был назван open database connectivity (открытая связь с базами данных).

    C помощью ODBC программисты могли разрабатывать приложения для использования одного интерфейса доступа к данным, не беспокоясь о тонкостях взаимодействия с несколькими источниками.

    MFC усовершенствовала ODBC для разработчиков приложений. Истинный интерфейс ODBC является обычным функциональным API. Вместо создания простой оболочки функционального API, разработчики MFC создали набор абстрактных классов, представляющих логические сущности в базе данных.

    Данный раздел посвящен установке стандартного windows клиента odbc.

    Фирма Microsoft. контролирующая стандарт, поставляет набор драйверов для наиболее популярных БД. Другие фирмы поставляют на рынок драйверы для своих БД. Стандарт таков, что программа без компиляции будет работать с самыми разными БД.

    Архитектура ODBC основана на использование динамических библиотек. На верхнем уровне находится библиотека odbc 32. dll -менеджер драйверов odbc. Эта библиотека представляет интерфейс прикладного программирования. Она обращается к другим динамическим библиотекам (драйверам), отвечающим за взаимодействие с конкретными БД. Все драйверы регистрируются в реестре.

    С точкм зрения программирования ODBC это набор функций и структур, которые используются для доступа к реляционным БД. Для применения этого инструмента в современных системах программирования, исповедующих объектный подход, продеться все равно создавать для него некоторую объектную оболочку, по этому в чистом виде ODBC в настоящее время почти не используется.

    ADO.NET: Обзор технологии

    Многие программисты, работающие с базами данных на платформах Microsoft, могли оценить простоту и удобство технологии ADO - ActiveX Data Objects. Интутитивно-понятный интерфейс и логичный набор объектов вместе с простотой программирования заслуженно получили признание программистов. Несмотря на это, вместе с новой платформой .NET Microsoft представляет и новое поколение средств доступа к базам данных - ADO.NET.

    C тремительное развитие веб приложений вызвало необходимость пересмотреть методы работы с источниками данных, лучше адаптировать их к специфики приложений. Непредсказуемый рост числа клиентов интернет сайтов заставляет разработчиков переходить от клиентсерверной к three-tier архитектуре, что часто порождает непреодолимые проблемы. Базы данных не способны поддерживать неограниченное число активных соединений, ограничивая доступность сайта и принося убытки. Брандмауэры могут препятствовать передаче двоичных данных между узлами. ADO.NET призвано решить эти и другие проблемы и вместе с тем сохранить удобство и простоту программирования.

    Преимущества и нововведения в ADO.NET

    Использование разъединенной модели доступа к данным.

    В клиент-серверных приложениях традиционно используется технология доступа к источнику данных при которой соединение с базой поддерживается постоянно. Однако после широкого распространения приложений, ориентированных на Интернет, выявились некоторые недостатки такого подхода. Попробуем выявить некоторые из них.

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

    Специфика веб приложений не позволяет серверу в каждый момент времени знать, что необходимо пользователю. То есть до следующего запроса сервер не имеет представления, нужно ли еще поддерживать соединение.

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

    Хотя существуют и другие недостатки, приведенные, на мой взгляд, наиболее существенны и вероятнее всего встречались читателю. Все эти проблемы порождаются постоянным соединением с базой данных и решаются в ADO.NET, где используется другая модель доступа. Теперь соединение устанавливается лишь на то короткое время, когда необходимо проводить операции над базой данных.

    Следует признать, что новая технология иногда все же проигрывает традиционной. Для этих случаев рекомендовано (не только мною, но и Microsoft) использовать ADO. Примерами таких приложений служат програмы проводящие частые и объемные изменения содержания записей - заказ билетов, например (подробнее о причинах непригодности разъединенной модели в этом случае см. следующий раздел).

    Хранение данных в объектах DataSet .

    При работе с базой данных нам чаще всего приходится работать не с одной, а несколькими записями. Более того, данные эти могут собираться из различных таблиц. В разъединенной модели доступа к базе данных не имеет смысла соединяться и источником данных при каждом обращении. Исходя из этого, представляется логичным хранить несколько строк и обращаться к ним при необходимости. Для этих целей и используется DataSet.

    DataSet представляет собой, по сути, упрощенную реляционную базу данных и может выполнять наиболее типичные для таких баз данных операции. Теперь, в отличие от Recordset мы можем хранить в одном DataSet сразу несколько таблиц, связи между ними, выполнять операции выборки, удаления и обновления данных. Безусловно, разъединенная модель не позволяет постоянно отслеживать изменения в базе данных, производимые другими пользователями. Это может привести к ошибкам в таких приложениях, где информация должна обновляться каждый момент - заказ билетов или продажа ценных бумаг. Однако в любую секунду может быть получена свежая информация из базы данных через вызов метода FillDataSet. Таким образом, DataSet остается черезвычайно удобным для самого широкого класса приложений: когда необходимо получить данные из базы и как-либо обработать их.

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

    Глубокая интеграция с XML.

    Все более широко распространяющийся XML играет важнейшую роль в ADO.NET и приносит еще несколько преимуществ по сравнению с традиционным подходом.

    Заметим для начала, что практически любой XML файл может быть использован как источник данных и на его основе может быть создан DataSet. точно также при передаче данных между компонентами или сохранении их в файл используется XML.

    Программист, работающий с ADO.NET не обязательно должен иметь опыт работы с XML или познания в этом языке. Все операции остаются прозрачными для разработчика.

    Так как XML имеет текстовое представление, это позволяет передавать его по протоколам типа HTTP через брандмауэры. Дело в том, что системы защиты обычно настроены на фильтрацию двоичной информации, текстовая же легко пропускается, что облегчает создание распределенных приложений.

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

    При передачи больших объемов информации через COM возникает проблема приведения типов данных, так как COM поддерживает лишь ограниченный их набор. Действительно, COM маршаллинг может требовать длительной обработки, что негативно сказывается на производительности приложения. XML же поддерживает неограниченное число типов и не требует их конверсии, что позволит ускорить процесс передачи данных.

    Руководство по MyODBC

    Эта глава содержит общую информацию относительно ODBC и MyODBC.

    Open Database Connectivity (ODBC) представляет собой интерфейс прикладной программы (API) для доступа к базам данных. Это основано на спецификациях Call-Level Interface (CLI) от X/Open и ISO/IEC для API баз данных. Как язык доступа к базам данных применяется Structured Query Language (SQL).

    ODBC разработан для максимальной способности к взаимодействию, то есть одна прикладная программа может без изменения своего исходного текста работать через интерфейс с какой угодно СУБД. Прикладные программы вызывают функции интерфейса ODBC, которые выполнены в специфических для базы данных модулях, названных драйверами. Использование драйверов изолирует прикладные программы от специфических для базы данных обращений. Подробнее об этом можно почитать на http://www.microsoft.com/data .

    Первое и главное: ODBC является спецификацией для API базы данных. Этот API независим от любой СУБД, операционной системы или языка программирования.

    ODBC API основан на спецификациях CLI от X/Open и ISO/IEC. ODBC 3.x полностью соответствует обоим этим спецификациям, более ранние версии ODBC были основаны на предварительных версиях этих спецификаций, но полностью не выполняли их, зато добавили свойства, нужные только разработчикам оконных приложений, например, прокручиваемые курсоры.

    Разработчики драйверов для СУБД выполняют функции ODBC API. Приложения вызывают функции в этих драйверах, чтобы обратиться к данным способом, независимым от базы данных. Администратор драйверов (Driver Manager) управляет связью между прикладными программами и драйверами.

    Имеются два архитектурных требования:

    1. Прикладные программы должны быть способны обратиться ко многим СУБД, используя тот же самый исходный текст без того, чтобы его перетранслировать или заново компоновать.
    2. Прикладные программы должны быть способны обратиться ко многим СУБД одновременно (через разные драйверы).

    ODBC успешно решает эти проблемы следующим способом:

    ODBC является интерфейсом уровня вызовов: Чтобы решить проблему с тем, как прикладные программы обращаются ко многим СУБД, используя один и тот же исходный текст, существует стандарт CLI. ODBC содержит все функции в спецификации CLI и обеспечивает дополнительные функции, обычно требуемые прикладными программами.
    ODBC определяет стандартный синтаксис SQL: В дополнение к стандартному интерфейсу уровня обращения (вызова), ODBC определяет стандартный синтаксис SQL. Он базируется на спецификации X/Open SQL CAE. Если используемый ODBC синтаксис отличается от того, который применяет конкретная СУБД, производится преобразование на лету. Однако, такие преобразования редки потому, что большинство СУБД уже используют стандартный синтаксис языка SQL.
    ODBC предоставляет Driver Manager для управления одновременным доступом к многим СУБД: Хотя использование драйверов решает проблему одновременного доступа ко многим базам данных, код, необходимый, чтобы сделать это, может быть сложен. Прикладные программы которые разработаны, чтобы работать со всеми драйверами, не могут быть статически связаны с любыми драйверами. Вместо этого они должны загрузить драйверы во время выполнения и вызывать функции в них через таблицу указателей функций. Ситуация становится более сложной, если прикладная программа использует много драйверов сразу. Чтобы избавить программу от проблем с этим, ODBC обеспечивает Driver Manager. Администратор драйверов (Driver Manager) осуществляет все функции ODBC обычно как вызовы функций ODBC в драйверах и статически связан с прикладной программой или загружен прикладной программой во время выполнения. Таким образом, вызовы из прикладной программы функций ODBC по именам обрабатываются в Driver Manager вместо того, чтобы обращаться по указателю к каждому драйверу. ODBC предоставляет много возможностей СУБД, но не требует, чтобы каждый драйвер поддерживал их все.

    Архитектура MyODBC имеет 5 главных компонентов как показано ниже:

    Приложение: Это программа, которая вызывает ODBC API, чтобы обратиться к данным с сервера (MySQL). Прикладная программа общается с администратором драйверов или драйвером, непосредственно использующим стандарт ODBC-обращения. Прикладная программа не заботится, где данные сохранены, как они сохранены или как система конфигурирована, чтобы обратиться к данным. Единственное, что реально надо знать, имя источника данных (Data Source Name, DSN). Ряд задач является общим для всех программ, независимо от того, как они используют ODBC. Эти задачи:
    • Выбор сервера (MySQL) и связь с ним.
    • Передача на рассмотрение инструкции SQL для выполнения.
    • Получение результатов (если они есть).
    • Обработка ошибок.
    • Обработка транзакции или обратная перемотка.
    • Отсоединение от сервера.
    Самыми главными тут являются передача на рассмотрение инструкции SQL для выполнения и получение результатов запроса (если они есть).
    Driver manager: Driver Manager представляет собой библиотеку, которая управляет связью между прикладной программой и драйвером или драйверами. Это делает:
    • Обработку Data Source Names (DSN).
    • Загрузку и выгрузку драйверов.
    • Обрабатку ODBC-обращения к функции или передачу вызова драйверу.

    Драйвер MyODBC: Драйвер MyODBC представляет собой библиотеку, которая осуществляет функции в ODBC API. Это обрабатывает ODBC-обращения к функции, представляет на рассмотрение запросы SQL на сервер MySQL и возвращает результаты обратно прикладной программе. В случае необходимости, драйвер изменяет запрос прикладной программы так, чтобы запрос соответствовал синтаксису MySQL.
    ODBC.INI: ODBC.INI является главным файлом настройки ODBC, который хранит драйвер и информацию о базе данных, требуемую, чтобы соединиться с сервером. Это используется Driver Manager, чтобы определить который драйвер надо загрузить, используя Data Source Name. Драйвер использует этот файл, чтобы прочитать параметры подключения, основанные на определенном DSN. Для получения большего количества информации прочтите раздел "3.2 Настройка MyODBC DSN ".
    MySQL SERVER: Это источник данных.

    Как описано ранее, MySQL AB поддерживает два драйвера ODBC с открытыми исходными текстами, а именно MyODBC и MySQL ODBC 3.51, для работы с MySQL через ODBC API.

    MySQL AB распространяет все свои программы под General Public License (GPL). Самую свежую версию MyODBC или MyODBC 3.51 (двоичные коды и исходные тексты) можно скачать с http://www.mysql.com. Подробно о MySQL ODBC рассказано на http://www.mysql.com/downloads/api-myodbc.html .

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

    2.7.2.1 Требования
    • MDAC. Microsoft Data Access SDK с www.microsoft.com/data.
    • Клиентская библиотека и включаемые файлы MySQL из 3.23.14 или выше. Это требуется потому, что MyODBC использует новые обращения, которые существуют только начиная с этой версии. http://www.mysql.com/downloads/index.html .
    2.7.2.2 Построение MyODBC 3.51

    MyODBC 3.51 поставляется в виде исходников с Makefile. который использует nmake. В дистрибутиве есть WIN_Makefile для формирования нормальной версии и WIN_Makefile_debug для формирования отладочной версии драйвера и DLL-библиотек. Для построения драйвера:

    Скачайте исходники и распакуйте их в какой-нибудь каталог, скажем, myodbc3-src. Дальше выполните следующие команды для создания нормальной версии:

    nmake -f Win_Makefile формирует версию драйвера и помещает двоичные файлы в подкаталог release. Команда nmake -f Win_Makefile install инсталлирует (вообще-то просто копирует) библиотеку драйвера и его DLL (myodbc3.lib и myodbc3.dll ) в системный каталог ОС. Аналогично Вы можете сформировать версию для отладки, используя Win_Makefile_Debug.

    Вы можете oчищать и восстанавливать драйвер, используя команды:

    ОБРАТИТЕ ВНИМАНИЕ: Удостоверитесь, что определили правильные библиотеки пользователей MySQL и путь файлов заголовка в Makefile. Это принимает заданный по умолчанию путь C:\mysql\include и C:\mysql\lib\opt (для обычных DLL) или C:\mysql\lib\debug для отладочной версии.

    Тестирование библиотек драйвера: после того, как библиотеки драйвера скопированы в системный каталог, Вы можете проверить качество их построения используя выборки, обеспеченные в подкаталоге samples каталога исходного текста:

    2.7.2.3 Построение MyODBC 2.50

    MyODBC распространяется в исходниках как VC Project для Windows. Можно формировать драйвер, используя прямые файлы проекта VC (.dsp и .dsw), имеющиеся в дистрибутиве.

    Чтобы формировать драйвер самостоятельно под Linux, Вы должны иметь:

    2.7.3.1 Требования
    • Клиентская библиотека и включаемые файлы MySQL из 3.23.14 или выше. Это требуется потому, что MyODBC использует новые обращения, которые существуют только начиная с этой версии. http://www.mysql.com/downloads/index.html
    • Библиотека MySQL должна быть конфигурирована с опцией --with-thread-safe-client. libmysqlclient должна быть установлена в системе как разделяемая библиотека.
    • Должен быть установлен один из администраторов драйверов unix ODBC:
      iodbc 3.0 или старше (http://www.iodbc.org) или
      unixodbc Alpha 3 или старше (http://www.unixodbc.org).
    • Если Вы используете character set. который не компилируется в библиотеку MySQL (по умолчанию там будут: latin1, big5, czech, euc_kr, gb2312, gbk, sjis, tis620 и ujis), Вы должны установить символьные определения mysql из каталога charset в SHAREDIR (по умолчанию это /usr/local/mysql/share/mysql/charsets ). Они должны уже быть на месте, если Вы установили сервер MySQL на той же самой машине.

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

    2.7.3.2 Настройка

    Единственные требуемые параметры; --with-mysql-libs=DIR и --with-mysql-includes=DIR. Здесь DIR задает каталог, где искать библиотеки и включаемые файлы mysql.

    При использовании iodbc. если iodbc не установлен в заданное по умолчанию расположение (/usr/local ), Вам придется использовать --with-iodbc=DIR или, если заголовки iODBC не находятся в DIR/include. придется использовать опцию --with-iodbc-includes=INCDIR. То же самое касается и библиотек: если они не в DIR/lib. примените явное указание параметром --with-iodbc-libs=LIBDIR .

    При использовании unixODBC для создания configure ищите unixODBC вместо iODBC и используйте параметр --with-unixODBC=DIR. Здесь DIR задает то место, где установлен unixODBC.

    Если звголовки и библиотеки unixODBC расположены не там, где надо (а надо в DIR/include и DIR/lib соответственно), укажите на них параметрами --with-unixODBC-libs=LIBDIR и --with-unixODBC-includes=INCDIR .

    Вы можете определять другой префикс вместо /usr/local для установки, например, хранить MyODBC-драйверы в /usr/local/odbc/lib. для этого надо указать параметр --prefix=/usr/local/odbc .

    Окончательно пример настройки выглядит так:

    2.7.3.3 Построение библиотек драйвера

    Для построения библиотек драйвера Вы должны только выполнить:

    Это должно сформировать библиотеки. Если происходят какие-то ошибки, исправьте их и продолжите построение. Если Вы не можете собрать пакет, пошлите детальный отчет по e-mail на myodbc@lists.mysql.com .

    2.7.3.4 Установка библиотек драйвера Устанавливает следующий набор библиотек:
    • libmyodbc3.so, libmyodbc3-3.51.01.so, здесь 3.51.01 является версией драйвера и libmyodbc3.a для MyODBC 3.51 или
    • libmyodbc.so, libmyodbc-2.50.39.so, здесь 2.50.39 является версией драйвера и libmyodbc.a для MyODBC 2.50

    Обратите внимание. если Вы пробуете использовать make из SUN. Вы закончите с ошибками. С другой стороны, Make от GNU должен работать прекрасно на всех платформах.

    2.7.3.5 Замечания для Mac OS X

    Если Вы хотите формировать драйвер на Mac OS (Darwin), то используйте следующий пример выбора конфигурации:

    Это предполагает, что unixodbc и mysql установлены в заданные по умолчанию расположения. Если это не так, сконфигурируйте все соответственно.

    2.7.3.6 Создание файлов .so

    На большинстве платформ MySQL не формирует или поддерживает .so файлы, так как формирование с общедоступными библиотеками вызывало проблемы в прошлом.

    В таких случаях пользователь должен скачать дистрибутив MySQL и скомпилировать его с помощью:

    Если Вы все же хотите формировать общедоступные библиотеки драйвера, Вы должны определить опцию настройки --enable-shared .

    Если Вы конфигурировали пакет с опцией --disable-shared . то Вы можете формировать .so-файл, используя следующее:

    Предостережение: Вы должны читать этот раздел только, если Вы заинтересованы в разработке пакета. Если Вы только хотите получить MyODBC 3.51. Вы должны использовать стандартный дистрибутив (исходный текст или двоичные модули).

    Чтобы получить самое современное дерево исходных текстов для разработчиков, сделайте следующее:
    • Скачайте BitKeeper с http://www.bitmover.com/cgi-bin/download.cgi. Вам нужен Bitkeeper 2.0 или более новый, чтобы обратиться к архиву.
    • Установите его согласно прилагаемым инструкциям.
    • Когда BitKeeper установлен, сначала перейдите в каталог, откуда хотите работать, а затем используйте эту команду, если Вы хотите получить снимок исходных текстов MyODBC 3.51: В вышеупомянутых примерах исходное дерево будет установлено в подкаталог myodbc-3.51 Вашего текущего каталога.
    • Вам понадобятся GNU autoconf 2.13. automake 1.4. libtool и m4. чтобы выполнить следующий набор команд: Под Windows используйте WIN-Makefile и WIN-Makefile_debug.
    • Когда пакет собран, выполните make install. Эта команда установит драйвер MyODBC 3.51 на Вашей системе. Если Вы установили последние версии требуемых инструментальных средств GNU, и они разрушаются при попытке обработать файлы конфигурации, пожалуйста, сообщите об этом на myodbc@lists.mysql.com. Однако, если Вы выполняете aclocal и получаете ошибку "command not found" или подобную проблему, не сообщайте об этом. Вместо этого, удостоверьтесь, что все необходимые инструментальные средства установлены, и что Ваша переменная PATH задана правильно, так что оболочка может найти их.
    • После того, как команда bk clone скачает дерево исходных текстов, Вы должны периодически выполнять bk pull. чтобы получить очередные модификации.
    • Вы можете исследовать хронологию изменения дерева со всеми дифами (diff), используя bk sccstool. Если Вы видите некоторый странный диф или непонятный код, спрашивайте по e-mail myodbc@lists.mysql.com. Также, если Вы думаете, что имеете лучшую идею относительно того, как что-то сделать, пришлите патч на тот же адрес. Патч изготовляется командой bk diffs после внесения правок в исходные тексты. Если Вы не имеете времени писать код, пошлите описание своей идеи.
    • BitKeeper имеет хорошую утилиту справочника, к которой Вы можете обращаться через bk helptool .

    Драйвер MySQL ODBC может использоваться на всех основных платформах, поддерживаемых MySQL:

    • Все версии Windows: 95/98/NT/ME/2000/XP
    • OS/2
    • Mac OS X Server
    • Amiga
    • Все версии Unix:
      • AIX
      • BSDI
      • DEC
      • FreeBSD
      • HP-UX
      • Linux
      • NetBSD
      • OpenBSD
      • SGI Irix
      • Solaris
      • SunOS
      • SCO OpenServer
      • SCO UnixWare
      • Tru64 Unix

    Вообще, MyODBC (3.51) поддержан на всех платформах, которые MySQL поддерживает. Если двоичный дистрибутив не доступен для специфической платформы, то Вы можете формировать драйвер самостоятельно, скачав его исходники. А чтобы это стало простым для других пользователей, пошлите готовые двоичные модули на myodbc@lists.mysql.com .

    MySQL обеспечивает семейство пользователей своих пакетов списком рассылки, где новички получают решения от опытных пользователей, посылая запросы на myodbc@lists.mysql.com .

    Чтобы подписаться на список рассылки MyODBC, пошлите сообщение на myodbc-subscribe@lists.mysql.com. Чтобы отписаться от списка рассылки MyODBC, пошлите сообщение на myodbc-unsubscribe@lists.mysql.com. Вы можете также просматривать архив списка рассылки на http://lists.mysql.com .

    Есть возможность получить поддержку пакета. Если Вы хотите, чтобы:
    • Ошибки исправлялись быстро.
    • Решать любые проблемы с MyODBC или MySQL.
    • Была возможность заказывать свойство в драйвере.
    • Иметь расширение драйвера.
    • Иметь патчи, поставленные непосредственно в Ваш почтовый ящик.
    • Иметь прямое взаимодействие с разработчиками MySQL и MyODBC.

    Вы должны получить контракт поддержки от MySQL AB. Фирма MySQL AB поддерживает различные типы лицензий поддержки, чтобы помочь Вам выбрать именно то, что нужно. Для получения большего количества информации относительно поддержки MySQL, посетите сайт https://order.mysql.com или пошлите e-mail на licensing@mysql.com .

    Как только Вы купите поддержку, Вы сможете посылать запросы или отчеты об ошибках, используя MySQL support wizard на http://support.mysql.com. затем группа разработки MySQL начнет работать над Вашей проблемой немедленно.

    Если Вы сталкиваетесь с трудностями с MyODBC или с MyODBC 3.51. Вы должны запустить создание файла протокола из ODBC Manager (протокол Вы получаете при запросе файлов регистрации из ODBC ADMIN ) или протокол MyODBC (или MyODBC 3.51 ).

    Для получения трассировки ODBC через Driver Manager, Вы должны сделать следующее:

      Открыть ODBC Data Source Administrator:
      • Кликните на Start. укажите на Settings и запустите Control Panel.
      • На компьютерах под Microsoft Windows 2000. сделайте двойной щелчок на Administrative Tools и сделайте двойной щелчок на Data Sources (ODBC). На компьютерах с более ранней версией Microsoft Windows дважды щелкните на 32-bit ODBC или на ODBC. Появится диалоговое окно ODBC Data Source Administrator .
      Чтобы включить трассировку, Вы должны сделать следующее:
      • Вкладка Tracing диалогового окна ODBC Data Source Administrator нужна, чтобы сконфигурировать путь ODBC-обращения к функции трассировки.
      • Когда Вы активизируете трассировку из вкладки Tracing . Driver Manager регистрирует все ODBC-обращения к функциям для всех впоследствии выполненных программ.
      • ODBC-обращения к функциям из прикладных программ, запущенных ранее, не регистрируются. ODBC-обращения к функциям будут зарегистрированы в журнале, который Вы определяете.
      • Трассировка прекращается только после того, как Вы нажимаете Stop Tracing Now. Не забудьте, что при включенной трассировке журнал постоянно растет, а это воздействует на эффективность всех Ваших прикладных программ ODBC. Под Unix Вы должны явно установить опцию TRACE в файле настроек ODBC.INI. Установите трассировку в ON или в OFF. используя параметры TRACE или TRACEFILE в odbc.ini. Например, так: Здесь TRACEFILE определяет имя и полный путь файла протокола, а TRACE установлен в ON или в OFF. Вы можете также использовать 1 или YES для ON и 0 или NO для OFF.
        Обратите внимание. если Вы используете ODBCConfig из unixODBC. то следуйте командам из HOWTO-ODBCConfig на http://www.unixodbc.org/config.html для трассировки вызовов unixODBC.
      Чтобы получить протокол драйвера MyODBC или MyODBC 3.51. надо сделать следующее:
      • Гарантируйте, что Вы используете myodbc3d.dll. но не myodbc3.dll для MyODBC 3.51 (или myodbcd.dll для MyODBC ). Самый простой способ сделать это состоит в том, чтобы получить myodbc3d.dll (или myodbcd.dll ) из дистрибутива MyODBC 3.51 и скопировать поверх myodbc3.dll (или myodbc.dll ), который, скорей всего, расположен в каталоге C:\windows\system32 или в C:\winnt\system32. Обратите внимание, что Вы, вероятно, захотите восстановить старый файл myodbc.dll после окончания отладки, поскольку он работает намного быстрее, чем myodbc3d.dll (или myodbcd.dll ), так что сделайте резервную копию оригинальной DLL.
      • Отметьте опцию Trace MyODBC на экране конфигурирования соединения через MyODBC. Протокол будет записан в файл C:\myodbc.log. Если опция трассировки отсутствует на вышеупомянутом экране, это означает, что Вы не используете драйвер myodbcd.dll. Под Linux или если Вы используете связь DSN-Less, Вы должны обеспечить в строке подключения параметр OPTION=4.
      • Запустите Вашу прикладную программу и попробуйте получить то, что вызвало проблемы. Проверьте файл протокола MyODBC, чтобы выяснить, что же могло быть неправильно. Если Вы выясняете, что пошло не так, пожалуйста, пошлите сообщение на myodbc@lists.mysql.com (если у Вас контракт о поддержке с MySQL AB, пишите на support@mysql.com ) с кратким описанием проблемы и со следующей дополнительной информацией:
        • Версия MyODBC
        • Версия и тип используемого ODBC Driver Manager
        • Версия сервера MySQL
        • ODBC0трассировка из Driver Manager
        • Файл протокола драйвера MyODBC
        • Простой воспроизводимый пример
      Не забудьте, что большее количество информации, которую Вы можете обеспечивать, повышает шансы на решение проблемы! Также стоит почитать архив списка рассылки MyODBC на http://lists.mysql.com перед отправкой сообщения: вдруг уже кто-то имел такую проблему и решил ее?

    Большинство программ должно работать с MyODBC. но для каждой из перечисленных ниже это было проверено непосредственно.

    ПрограммаКомментарий Access Чтобы работать с Access:
    • Если Вы используете Access 2000, Вы должны получить и установить самый новый (версия 2.6 или выше) пакет Microsoft MDAC ( Microsoft Data Access Components ) с http://www.microsoft.com/data. Это устранит следующую ошибку в Access: когда Вы экспортируете данные в MySQL, имена таблицы и столбца не определены. Другой путь обхода этой ошибки состоит в том, чтобы поставить MyODBC не ниже 2.50.33 и MySQL не ниже 3.23, которые вместе обеспечивают обход этой ошибки. Вы должны также получить и применить Microsoft Jet 4.0 Service Pack 5 (SP5), который может быть найден на http://support.microsoft.com/default.aspx?scid=kb;EN-US;q239114. Это исправит ряд ситуаций, в которых столбцы помечаются как удаленные ( #deleted# ) в Access. Обратите внимание, что, если Вы используете MySQL 3.22, Вы должны применить патч для MDAC и использовать MyODBC 2.50.32 или 2.50.34 и выше для решения проблемы.
    • Для всех версий Access Вы должны включить опцию MyODBC Return matching rows. Для Access 2.0 Вы должны дополнительно включить опцию Simulate ODBC 1.0.
    • Вы должны иметь timestamp во всех таблицах, которые Вы хотите модифицировать. Для максимальной мобильности TIMESTAMP(14) или просто TIMESTAMP рекомендуются вместо других вариантов TIMESTAMP(X).
    • Вы должны иметь первичный ключ в таблице. Если это не так, новые или модифицируемые строки могут обнаруживаться как #DELETED#.
    • Используйте только поля DOUBLE с плавающей точкой. Access рушится при сравнении с single-полями с плавающей точкой. Это приводит к тому, что новые или модифицируемые строки могут обнаруживаться как #DELETED#. или Вы не можете находить или модифицировать строки.
    • Если Вы связываете таблицу, которая имеет BIGINT как один из столбца, через MyODBC, то результаты будут отображаться как #DELETED. Обойти это можно так:
      • Создайте еще один фиктивный столбец с TIMESTAMP как тип данных, предпочтительно TIMESTAMP(14).
      • Проверьте Change BIGINT columns to INT в диалоге опций соединения в ODBC DSN Administrator.
      • Удалите связь таблицы из и пересоздайте ее.
      Это все еще отображает предыдущие записи как #DELETED#. но новые записи будут отображаться правильно.
    • Если Вы все еще получаете ошибку Another user has changed your data после добавления столбца TIMESTAMP. следующий прием может помочь: не используйте представление листа данных таблицы. Создайте взамен форму с полями, которые Вы хотите видеть, и используйте вид form листа данных. Вы должны установить реквизит DefaultValue для столбца TIMESTAMP в NOW(). Стоит сделать столбец TIMESTAMP скрытым.
    • В некоторых случаях Access может генерировать запрещенные запросы SQL, которые MySQL не может понимать. Вы можете исправить это, выбирая Query|SQLSpecific|Pass-Through из меню Access.
    • Access под NT показывает столбцы BLOB как OLE OBJECTS. Если Вы хотите иметь столбцы MEMO вместо этого, Вы должны изменить тип столбца на TEXT с помощью команды ALTER TABLE.
    • Access не может всегда обрабатывать столбцы DATE правильно. Если Вы имеете проблему с ними, измените столбцы на DATETIME. с ними путаницы нет.
    • Если Вы имеете в Access столбец, определенный как BYTE. Access пробует экспортировать это как TINYINT вместо TINYINT UNSIGNED. Это задаст Вам проблем, если Вы имеете значения > 127 в этом столбце!
    ADO Когда Вы программируете с ADO API и MyODBC Вы должны обратить внимание на некоторые заданные по умолчанию свойства, которые пока не поддержаны сервером MySQL. Например, использование свойства CursorLocation Property как adUseServer возвратит для реквизита RecordCount Property -1. Чтобы иметь правильное значение, Вы должны установить это свойство в adUseClient. как показано в этом коде на VB: Другой обход: использовать инструкцию SELECT COUNT(*) для подобного запроса, чтобы получить правильное число строк. Active server pages (ASP) Вы должны использовать параметр Return matching rows. Приложения BDE Вы должны установить параметры Don't optimize column widths и Return matching rows. Тогда все должно работать. Borland Builder 4 Когда Вы запускаете запрос, Вы можете использовать свойство Active или метод Open. Обратите внимание, что Active запускается автоматически при выдаче запроса SELECT * FROM. что медленно, если Ваши таблицы большие. ColdFusion (под Unix) Следующая информация найдена в документации на ColdFusion: используйте следующую информацию, чтобы конфигурировать ColdFusion Server для Linux, чтобы использовать драйвер unixODBC с MyODBC для источников данных MySQL. Известно, что MyODBC Version 2.50.26 работает с MySQL Version 3.22.27 и с ColdFusion для Linux. Любая более новая версия должна также работать. Вы можете скачать 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. DataJunction Вы должны обновить пакет, иначе будет выводиться ENUM вместо VARCHAR. проблемы с протоколом. Excel Работает нормально. Некоторые советы:
    • Если Вы имеете проблемы с датами, попробуйте выбирать их как строки, использующие функцию CONCAT(). Например: Значения, полученные как строки этим способом, должны быть правильно распознаны как значения времени Excel97. Цель CONCAT() в этом примере состоит в том, чтобы ввести в заблуждение ODBC в плане того, что столбец имеет строковый тип. Без CONCAT() ODBC знает, что столбец имеет тип time, а Excel не понимает этого. Обратите внимание, что это ошибка в Excel, поскольку он автоматически преобразовывает строку в time, хотя никто его об этом не просит. Это было бы большим удобством, если источником является текстовый файл, но просто глупо, когда в качестве источника данных выступает ODBC-подключение, которое сообщает точные типы для каждого столбца.
    Word Чтобы получать данные из MySQL в документах Word/Excel, надо использовать драйвер MyODBC и Add-in Microsoft Query help. Например, создайте базу данных с таблицей, содержащей 2 столбца текста:
    • Вставьте строки, используя инструмент командной строки mysql.
    • Создайте DSN-файл, использующий MyODBC-драйвер, например, my.
    • Откройте Word.
    • Создайте пустой новой документ.
    • При использовании панели инструментов Database, нажмите кнопку insert database.
    • Нажмите кнопку Get Data.
    • С правой стороны окна Get Data нажмите кнопку Ms Query.
    • В Ms Query создайте New Data Source, используя DSN-файл my.
    • Выберите новый запрос.
    • Выберите столбцы, которые Вы хотите.
    • Создайте фильтр, если он нужен.
    • Выполните сортировку, если она нужна.
    • Установите Return Data в Microsoft Word.
    • Нажмите кнопку Finish.
    • Нажмите Insert data и выберите записи.
    • Теперь после нажатия на OK строки появятся в Вашем документе Word.
    Delphi Вы должны использовать BDE Version 3.2 или более новую. Установите опцию Don't optimize column width при соединении с MySQL. Также имеется некоторый потенциально полезный Delphi-код, который устанавливает ODBC-вход и BDE-вход для MyODBC (BDE-вход требует BDE Alias Editor, который можно свободно скачать с Delphi Super Page. C++ Builder Тестировался с BDE Version 3.0. Единственная известная проблема состоит в том, что, когда схема таблицы изменилась, поля запроса не модифицируются. BDE, кажется, не распознает первичные ключи, только PRIMARY индекс, хотя это не было проблемой. Vision Вы должны использовать параметр Return matching rows. Visual Basic Чтобы модифицировать таблицу, Вы должны определить первичный ключ для таблицы. Visual Basic с ADO не может обрабатывать большие целые числа. Это означает, что некоторые запросы подобно SHOW PROCESSLIST не будут работать правильно. Установите опцию OPTION=16834 в строке подключения ODBC или задайте параметр Change BIGINT columns to INT на экране соединения MyODBC. Вы можете также устанавливать опцию Return matching rows. VisualInterDev Если Вы получаете ошибку [Microsoft][ODBC Driver Manager] Driver does not support this parameter. причина может быть в том, что Вы имеете BIGINT в Вашем результате. Попробуйте установить параметр Change BIGINT columns to INT на экране соединения MyODBC. Visual Objects Вы должны использовать параметр Don't optimize column widths. MS Visio Enterprise 2000 Пользователи сделали диаграмму модели базы данных, подключаясь из MS Vision Enterprise 2000 к MySQL через MyODBC (2.50.37 или более новый) и используя функцию обратной разработки в Visio, чтобы восстановить информацию относительно базы данных (Visio показывает все определения столбца, первичные ключи, индексы и так далее). Также разрабатывали новые таблицы в Visio и экспортировали их в MySQL через MyODBC. Все работало.