Что такое драйвер odbc

Обновлено: 04.07.2024

Используйте драйвер ODBC для переноса данных из вашего инструмента ETL или базы данных.

ThoughSpot поставляется с драйвером ODBC (Open Database Connectivity), чтобы вы могли передавать данные между ThoughtSpot и другими базами данных. Базовые знания по администрированию источников данных ODBC полезны при настройке ODBC.

Microsoft Windows 32-разрядная

Майкрософт Windows 64-разрядная

Совместимость версий и параметры подключения

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

Поддерживаемые типы данных

Драйвер ODBC поддерживает следующие типы данных:

Совместимость исходных и целевых данных

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

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

Переключая параметры *strict* и *permissive* true и false, вы можете настроить параметры по шкале поведения между разрешительным, автоматическим подходом и строгостью подход "должен соответствовать".

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

Строгость = истина , Вседозволенность = ложь

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

Это самая строгая конфигурация.

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

Строгость = false , Вседозволенность = false

Типы данных не выводятся, и преобразование не проверяет совпадения. Это наиболее разрешительная конфигурация.

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

Матрица преобразования типов данных

В следующей таблице описана матрица преобразования между типами данных SQL и типами данных ThoughtSpot.

В вычислительном мире существует множество неправильных представлений об ODBC. Для конечного пользователя это значок на панели управления Microsoft® Windows®. Для разработчика приложений это библиотека, содержащая подпрограммы доступа к данным. Для многих других это решение всех проблем с доступом к базе данных, которые только можно себе представить.

Прежде всего, ODBC — это спецификация API базы данных. Этот API не зависит ни от одной СУБД или операционной системы; хотя в этом руководстве используется C, API ODBC не зависит от языка. API ODBC основан на спецификациях CLI от Open Group и ISO/IEC. ODBC 3.x полностью реализует обе эти спецификации — более ранние версии ODBC были основаны на предварительных версиях этих спецификаций, но не полностью их реализовывали — и добавляет функции, обычно необходимые разработчикам экранных приложений баз данных. , такие как прокручиваемые курсоры.

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

Хотя Microsoft предоставляет диспетчер драйверов для компьютеров под управлением Microsoft Windows® 95 и более поздних версий, написала несколько драйверов ODBC и вызывает функции ODBC из некоторых своих приложений, любой может создавать приложения и драйверы ODBC. На самом деле подавляющее большинство приложений и драйверов ODBC, доступных сегодня, написано другими компаниями, а не Microsoft. Кроме того, драйверы и приложения ODBC существуют для Macintosh® и различных платформ UNIX.

Чтобы помочь разработчикам приложений и драйверов, корпорация Майкрософт предлагает пакет средств разработки программного обеспечения (SDK) ODBC для компьютеров под управлением Windows 95 и более поздних версий, который содержит диспетчер драйверов, установочную DLL-библиотеку, инструменты тестирования и примеры приложений. Microsoft объединилась с Visigenic Software, чтобы перенести эти SDK на Macintosh и различные платформы UNIX.

Важно понимать, что ODBC предназначен для раскрытия возможностей базы данных, а не для их дополнения. Таким образом, разработчики приложений не должны ожидать, что использование ODBC внезапно превратит простую базу данных в полнофункциональный механизм реляционной базы данных. Также не ожидается, что разработчики драйверов будут реализовывать функции, отсутствующие в базовой базе данных. Исключением является то, что разработчики, которые пишут драйверы, которые напрямую обращаются к файловым данным (таким как данные в файле Xbase), должны написать механизм базы данных, поддерживающий хотя бы минимальную функциональность SQL. Другим исключением является то, что компонент ODBC Windows SDK, ранее входивший в состав Microsoft Data Access Components (MDAC) SDK, предоставляет библиотеку курсоров, которая имитирует прокручиваемые курсоры для драйверов, реализующих определенный уровень функциональности.

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

Открытое подключение к базе данных (ODBC) — это открытый стандартный интерфейс прикладного программирования (API) для доступа к базе данных. В 1992 году Microsoft сотрудничает с Simba для создания первого в мире драйвера ODBC; SIMBA.DLL и доступ к данным на основе стандартов. Используя операторы ODBC в программе, вы можете получить доступ к файлам в ряде различных общих баз данных. В дополнение к программному обеспечению ODBC для доступа к каждой базе данных требуется отдельный модуль или драйвер.

Спецификация ODBC

Последняя версия спецификации ODBC доступна на веб-сайте Microsoft.
Для вашего удобства вы также можете загрузить PDF-версию текущей спецификации ODBC 3.8.

История ODBC

Microsoft представила стандарт ODBC в 1992 году. ODBC – это стандарт, предназначенный для унификации доступа к базам данных SQL. После успеха ODBC Microsoft представила OLE DB, которая должна была стать более широким стандартом доступа к данным. OLE DB был стандартом доступа к данным, который выходил за рамки только баз данных SQL и распространялся на любой источник данных, который мог предоставлять данные в табличном формате. План Microsoft состоял в том, что OLE DB заменит ODBC в качестве наиболее распространенного стандарта доступа к данным. Совсем недавно Microsoft представила стандарт доступа к данным ADO. Предполагалось, что ADO пойдет дальше, чем OLE DB, поскольку ADO был более объектно-ориентированным. Тем не менее, даже с очень значительными попытками Microsoft заменить стандарт ODBC тем, что считалось «лучшими» альтернативами, ODBC продолжал оставаться фактическим стандартом доступа к данным для источников данных SQL. Фактически, сегодня стандарт ODBC более распространен, чем OLE DB и ADO, потому что ODBC широко поддерживается (включая поддержку Oracle и IBM) и является межплатформенным стандартом доступа к данным. Сегодня наиболее распространенными стандартами доступа к данным для источников данных SQL по-прежнему являются ODBC и JDBC, и весьма вероятно, что такие стандарты, как OLE DB и ADO, со временем исчезнут.

Обзор ODBC

ODBC стал стандартом де-факто для основанного на стандартах доступа к данным как в реляционных, так и в нереляционных системах управления базами данных (СУБД). Simba тесно сотрудничала с Microsoft для совместной разработки стандарта ODBC еще в начале 90-х годов. Стандарт ODBC обеспечивает максимальную совместимость, что позволяет разработчикам приложений писать одно приложение для доступа к источникам данных от разных поставщиков. ODBC основан на спецификациях Call-Level Interface (CLI) от Open Group и ISO/IEC для API баз данных и использует язык структурированных запросов (SQL) в качестве языка доступа к базе данных.

Архитектура ODBC

Архитектура подключения к данным на основе ODBC выглядит следующим образом:


Приложение с поддержкой ODBC

Это любое приложение, совместимое с ODBC, например Microsoft Excel, Tableau, Crystal Reports, Microsoft Power BI или аналогичное приложение (электронная таблица, текстовый процессор, средство доступа к данным и извлечения и т. д.). Приложение с поддержкой ODBC выполняет обработку, передавая операторы SQL диспетчеру драйверов ODBC и получая от него результаты.

Диспетчер драйверов ODBC

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

Драйвер ODBC

Источник данных

Источник данных — это просто источник данных. Это может быть файл, конкретная база данных в СУБД или даже поток данных в реальном времени. Данные могут находиться на том же компьютере, что и программа, или на другом компьютере в сети.

Подпишитесь на блог Magnitude

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

Пакет odbc предоставляет DBI-совместимый интерфейс для драйверов Open Database Connectivity (ODBC). Это позволяет эффективно и легко настроить подключение к любой базе данных с помощью драйвера ODBC, включая SQL Server, Oracle, MySQL, PostgreSQL, SQLite и другие. Реализация основана на библиотеке C++ nanodbc.


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

Использование

Все следующие примеры предполагают, что вы уже создали соединение с именем con . Чтобы узнать, как подключиться к базе данных определенного типа, посетите страницу Базы данных.

Информация о базе данных

Пакет odbc предоставляет инструменты для изучения объектов и столбцов в базе данных.

Вы также можете увидеть другие источники данных и драйверы в системе.

Чтение и запись таблиц

Пакет DBI имеет функции для чтения и записи таблиц. dbWriteTable() запишет фрейм данных R в таблицу SQL. dbReadTable() будет читать таблицу SQL во фрейм данных R.

Вы можете указать таблицы вне базы данных с помощью команды Id().

Запросы и заявления

Для интерактивных запросов используйте dbGetQuery(), чтобы отправить запрос и получить результаты. Чтобы получить результаты отдельно, используйте dbSendQuery() и dbFetch(). Аргумент n= в dbFetch() можно использовать для выборки частичных результатов.

Вы можете выполнять произвольные операторы SQL с помощью dbExecute() . Примечание. Многие API баз данных различают прямые и подготовленные операторы. Если вы хотите принудительно использовать прямую инструкцию (например, если вы хотите создать локальную временную таблицу в Microsoft SQL Server), передайте immdediate=TRUE .

Тесты производительности odbc

Пакет odbc часто работает намного быстрее, чем существующие пакеты RODBCDBI, совместимые с RODBC и DBI. Приведенные ниже тесты проводились на PostgreSQL и Microsoft SQL Server с использованием набора данных nycflights13::flights (336 776 строк, 19 столбцов).

Читайте также: