oledb что это такое
Драйвер Microsoft OLE DB для SQL Server
Скачать OLE DB Driver
Драйвер OLE DB для SQL Server — это изолированный прикладной программный интерфейс (API) для доступа к данным, используемый в OLE DB, который появился в SQL Server 2005 (9.x). Драйвер OLE DB для SQL Server предоставляется в формате одной библиотеки динамической компоновки (DLL). Также он предоставляет новые расширенные функциональные возможности, поставляемые компонентами доступа к данным Windows (выделенное административное соединение Windows, ранее — компоненты доступа к данным компонентов MDAC). Драйвер OLE DB для SQL Server может применяться для создания новых или усовершенствования существующих приложений, которым требуется доступ к новым функциям SQL Server 2005 (9.x), таким как множественный активный результирующий набор (MARS), пользовательские типы, уведомления о запросах, изоляция моментальных снимков и поддержка типа данных XML.
Список различий между драйверами OLE DB для SQL Server и Windows DAC, а также сведения о проблемах, которые следует учесть перед переносом приложения Windows DAC на драйвер OLE DB для SQL Server, можно найти в статье Обновление приложения с переходом от MDAC на драйвер OLE DB для SQL Server.
Предыдущие поставщики Microsoft OLE DB для SQL Server (SQLOLEDB) и собственный клиент OLE DB для SQL Server (SQLNCLI) объявляются нерекомендуемыми для новых разработок.
Драйвер OLE DB для SQL Server может использоваться совместно с основными службами OLE DB, поставляемыми с компонентами доступа к данным Windows DAC, но это не является обязательным требованием. Выбор того, использовать или нет основные службы, зависит от требований отдельного приложения (например, требуется ли пул соединений).
Приложения ADO могут использовать драйвер OLE DB для SQL Server, но мы рекомендуем использовать для ADO ключевое слово строки подключения DataTypeCompatibility (или соответствующее свойство DataSource). При использовании драйвера OLE DB для SQL Server приложения ADO могут использовать новые функции, добавленные в SQL Server 2005 (9.x) и доступные в драйвере OLE DB для SQL Server через ключевые слова строки подключения, свойства OLE DB или Transact-SQL. Дополнительные сведения об использовании этих функций с ADO см. в статье Использование объектов ADO с драйвером OLE DB для SQL Server.
Драйвер OLE DB для SQL Server призван обеспечить упрощенный собственный доступ к данным SQL Server через OLE DB. Он позволяет разрабатывать и развивать новые функции доступа к данным без изменения текущих компонентов выделенного административного соединения Windows, которые теперь являются частью платформы Microsoft Windows.
OLE DB Driver for SQL Server использует компоненты доступа к данным Windows DAC, но явно не зависит от их конкретных версий. Драйвер OLE DB для SQL Server можно использовать с любой версией выделенного административного соединения Windows, которая устанавливается операционной системой, поддерживаемой драйвером OLE DB для SQL Server.
Разные поколения драйверов OLE DB
Существует три поколения поставщиков Microsoft OLE DB для SQL Server.
1. Поставщик Microsoft OLE DB для SQL Server (SQLOLEDB)
Поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) по-прежнему поставляется в составе компонентов доступа к данным Windows. Он больше не поддерживается и мы не рекомендуем использовать этот драйвер для разработки новых приложений.
2. SQL Server Native Client (SNAC)
Начиная с версии SQL Server 2005 (9.x), собственный клиент SQL Server (SNAC) включает интерфейс поставщика OLE DB (SQLNCLI) и поставщик OLE DB, который поставляется с SQL Server 2005 (9.x) через SQL Server 2012 (11.x).
С 2011 года он считается устаревшими и мы не рекомендуем использовать этот драйвер для разработки новых приложений. Дополнительные сведения о жизненном цикле SNAC и доступных для скачивания файлах см. в описании жизненного цикла SNAC.
3. Драйвер Microsoft OLE DB для SQL Server (MSOLEDBSQL)
Поддержка OLE DB возобновлена с момента выпуска поставщика в 2018 г.
Новый поставщик OLE DB называется драйвером Microsoft OLE DB для SQL Server (MSOLEDBSQL). Этот новый поставщик будет далее дополняться всеми новыми функциями сервера.
Чтобы использовать новый драйвер Майкрософт OLE DB для SQL Server в существующих приложениях, следует запланировать преобразование строк подключения из форматов SQLOLEDB и SQLNCLI в MSOLEDBSQL.
В этом разделе
Когда использовать драйвер OLE DB для SQL Server
Обсуждается место драйвера OLE DB для SQL Server среди технологий доступа к данным корпорации Майкрософт, дается его сравнение с компонентами доступа к данным Windows DAC и ADO.NET, а также предоставляются указания, помогающие решить, какую технологию доступа к данным следует использовать.
OLE DB Driver for SQL Server features (Функции драйвера OLE DB для SQL Server)
Здесь описаны возможности, которые поддерживаются драйвером OLE DB для SQL Server.
Создание приложений с помощью драйвера OLE DB для SQL Server
Представлены общие сведения о разработке с помощью драйвера OLE DB для SQL Server, включая отличия от компонентов доступа к данным Windows DAC, используемые компоненты и способ использования совместно с ADO.
В этом разделе также обсуждается установка и развертывание драйвера OLE DB для SQL Server, в том числе способ распространения библиотеки драйвера OLE DB для SQL Server.
Требования к системе для драйвера OLE DB для SQL Server
Здесь описаны системные ресурсы, которые нужны для использования драйвера OLE DB для SQL Server.
OLE DB Driver for SQL Server programming (Программирование драйвера OLE DB для SQL Server)
Предоставляются сведения об использовании драйвера OLE DB для SQL Server.
Finding more OLE DB Driver for SQL Server information (Дополнительные сведения о драйвере OLE DB для SQL Server)
Предоставляются дополнительные ресурсы со сведениями о драйвере OLE DB для SQL Server, в том числе ссылки на внешние ресурсы и дополнительные сведения.
Назначение «OLE DB»
Для источника данных Microsoft Office Excel 2007 потребуется поставщик данных, отличный от того, который использовался в предыдущих версиях Excel. Дополнительные сведения см. в разделе Подключение к книге Excel.
Назначение «OLE DB» предусматривает пять различных режимов доступа для загружаемых данных:
Таблица или представление. Можно указать существующую таблицу или представление или создать новую таблицу.
Таблица или представление с параметрами быстрой загрузки. Можно указать существующую таблицу или создать новую.
Таблица или представление, указанные в переменной.
Таблица или представление, указанные в переменной с параметрами быстрой загрузки.
Результат выполнения инструкции SQL.
Назначение «OLE DB» не поддерживает параметры. Если необходимо выполнить параметризованную инструкцию INSERT, лучше воспользоваться преобразованием «Команда OLE DB». Дополнительные сведения см. в разделе OLE DB Command Transformation.
При использовании диалогового окна Редактор назначения «OLE DB» в конструкторе Integration Services для создания целевой таблицы, в которую целевой объект OLE DB вставляет данные, потребуется вручную выбрать вновь созданную таблицу. Необходимость выбора вручную возникает, когда поставщик OLE DB, такой как OLE DB для DB2, автоматически добавляет идентификаторы схемы в имя таблицы.
Это назначение использует диспетчер соединений OLE DB для подключения к источнику данных, и диспетчер соединений определяет используемый поставщик OLE DB. Дополнительные сведения см. в разделе Диспетчер соединений OLE DB.
Проект служб Службы Integration Services также содержит объект источника данных, из которого можно создать диспетчер соединений OLE DB, чтобы источники данных и представления источников данных стали доступными для целевой OLE DB.
Целевой объект OLE DB содержит сопоставления между входными столбцами и столбцами в источнике данных назначения. Нет необходимости сопоставлять входные столбцы всем целевым столбцам, но в зависимости от свойств целевых столбцов могут произойти ошибки, если входные столбцы не сопоставлены целевым столбцам. Например, если целевой столбец не допускает значений NULL, входной столбец должен быть ему сопоставлен. Кроме того, типы данных сопоставленных столбцов должны быть совместимыми. Например, нельзя сопоставить входной столбец строкового типа целевому столбцу числового типа данных.
Целевой объект OLE DB имеет один обычный вход и один выход ошибок.
Дополнительные сведения о типах данных см. в разделе Integration Services Data Types.
Параметры быстрой загрузки
Не совмещать значения идентичности с импортированным файлом данных или использовать уникальные значения, назначенные SQL Server.
Сохранить значение NULL при выполнении операции массовой загрузки.
Проверочное ограничение в целевой таблице или представлении при выполнении операции массового импорта.
Получить блокировку на уровне таблиц на период операции массовой загрузки.
Указать число строк в пакете и зафиксировать размер.
Любое нарушение ограничения в назначении вызывает сбой обработки всего пакета строк, определенного параметром FastLoadMaxInsertCommitSize.
Параметры быстрой загрузки | Описание |
---|---|
KILOBYTES_PER_BATCH | Устанавливает размер в килобайтах для вставки. Параметр имеет форму KILOBYTES_PER_BATCH = . |
FIRE_TRIGGERS | Устанавливает запуск триггеров при вставке таблицы. Параметр имеет форму FIRE_TRIGGERS. Наличие параметра означает, что триггер запускается. |
ORDER | Устанавливает способ сортировки введенных данных. Параметр имеет форму ORDER ASC|DESC. Количество столбцов может быть любым, необязательно включать порядок сортировки. Если порядок сортировки пропущен, операция вставки предполагает, что данные не отсортированы. Примечание. Производительность можно повысить, если использовать параметр ORDER для сортировки загружаемых данных в соответствии с кластеризованным индексом таблицы. |
Ключевые слова Transact-SQL традиционно набираются буквами в верхнем регистре, однако учет их регистра не осуществляется.
Дополнительные сведения о параметрах быстрой загрузки см. в разделе BULK INSERT (Transact-SQL).
Устранение неполадок, связанных с назначением «OLE DB»
В журнал можно записывать вызовы, сделанные назначением «OLE DB» к внешним поставщика данных. Эта возможность ведения журнала может быть использована для устранения неполадок при сохранении данных во внешние источники данных, выполняемом назначением «OLE DB». Чтобы вести журнал вызовов, которые назначение «OLE DB» совершает к внешним поставщикам данных, необходимо включить ведение журнала пакета и выбрать событие Диагностика на уровне пакета. Дополнительные сведения см. в разделе Инструменты устранения неполадок при выполнении пакетов.
Настройка целевого объекта OLE DB
Значения свойств можно задавать с помощью конструктора Integration Services или программными средствами.
Диалоговое окно Расширенный редактор содержит свойства, которые можно установить с помощью программных средств. Дополнительные сведения о свойствах, которые вы можете задать в диалоговом окне Расширенный редактор или программными средствами, см. в следующих разделах.
Дополнительные сведения о настройке свойств см. в следующих разделах.
Редактор назначения OLE DB (страница «Диспетчер соединений»)
Страница Диспетчер соединений диалогового окна Редактор назначения «OLE DB» используется для выбора подключения OLE DB для назначения. На этой странице также можно выбрать таблицу или представление базы данных.
Для источника данных Microsoft Office Excel 2007 потребуется поставщик данных, отличный от того, который использовался в предыдущих версиях Excel. Дополнительные сведения см. в разделе Подключение к книге Excel.
Свойство CommandTimeout вступает в силу только тогда, когда действует режим доступа Команда SQL.
Статические параметры
Диспетчер соединений OLE DB
Выберите из списка существующий диспетчер соединений или создайте новое соединение, нажав кнопку Создать.
Режим доступа к данным
Укажите метод загрузки данных в назначение. Загрузка данных с двухбайтовой кодировкой (DBCS) требует одного из режимов быстрой загрузки. Дополнительные сведения о режимах доступа для быстрой загрузки данных, оптимизированных для массовой вставки, см. в разделе OLE DB Destination.
Параметр | Описание |
---|---|
Таблица или представление | Загрузка данных в таблицу или представление назначения «OLE DB». |
Быстрая загрузка таблицы или представления | Загрузка данных в таблицу или представление назначения «OLE DB» и использование параметра быстрой загрузки. Дополнительные сведения о режимах доступа для быстрой загрузки данных, оптимизированных для массовой вставки, см. в разделе OLE DB Destination. |
Переменная, содержащая имя таблицы или представления | Задайте переменную, содержащую имя таблицы или представления. Дополнительные сведения Использование переменных в пакетах |
Быстрая загрузка переменной имени представления или имени таблицы | Укажите переменную, содержащую имя таблицы или представления, и используйте для загрузки данных параметр быстрой загрузки. Дополнительные сведения о режимах доступа для быстрой загрузки данных, оптимизированных для массовой вставки, см. в разделе OLE DB Destination. |
Команда SQL | Загрузка данных в назначение «OLE DB» при помощи SQL-запроса. |
Динамические параметры режима доступа к данным
Режим доступа к данным = Таблица или представление
Имя таблицы или представления
Выберите имя таблицы или представления из списка доступных в источнике данных.
Режим доступа к данным = таблица или представление — быстрая загрузка
Имя таблицы или представления
Выберите из этого списка таблицу или представление базы данных или создайте новую таблицу, нажав кнопку Создать.
Сохранять ИД
Укажите, следует ли при загрузке данных копировать значения идентификаторов. Это свойство доступно только с параметром быстрой загрузки. Значение по умолчанию этого свойства равно false.
Сохранять значения NULL
Укажите, следует ли при загрузке данных копировать значения NULL. Это свойство доступно только с параметром быстрой загрузки. Значение по умолчанию этого свойства равно false.
Блокировка таблицы
Укажите, должна ли таблица блокироваться при загрузке. Значение по умолчанию этого свойства равно true.
Проверочные ограничения
Определите, будет ли назначение проверять ограничения во время загрузки данных. Значение по умолчанию этого свойства равно true.
Строк на пакет
Задает количество строк в одном пакете. Это свойство по умолчанию имеет значение -1, которое указывает на то, что никакое значение не присваивалось.
Макс. фиксируемый размер вставок
Задайте размер пакетов, который назначение «OLE DB» пытается зафиксировать во время операций быстрой загрузки. Значение 0 указывает, что фиксация всех данных производится в одном пакете после обработки всех строк.
Если назначение «OLE DB» и другой компонент потока данных обновляют одну и ту же исходную таблицу, то значение 0 может привести к тому, что выполняемый пакет перестанет отвечать на запросы. Чтобы решить эту проблему, задайте для параметра Макс. фиксируемый размер вставок значение 2147483647.
При задании значения этого свойства назначение фиксирует строки в пакетах, которые меньше (а) значения Макс. фиксируемый размер вставокили (б) количества оставшихся строк в буфере, обрабатываемом в текущий момент.
Режим доступа к данным — переменная, содержащая имя таблицы или представления
Имя переменной
Выберите переменную, содержащую имя таблицы или представления.
Режим доступа к данным = переменная, содержащая имя таблицы или представления (быстрая загрузка)
Имя переменной
Выберите переменную, содержащую имя таблицы или представления.
Сохранять ИД
Укажите, следует ли при загрузке данных копировать значения идентификаторов. Это свойство доступно только с параметром быстрой загрузки. Значение по умолчанию этого свойства равно false.
Сохранять значения NULL
Укажите, следует ли при загрузке данных копировать значения NULL. Это свойство доступно только с параметром быстрой загрузки. Значение по умолчанию этого свойства равно false.
Блокировка таблицы
Укажите, должна ли таблица блокироваться при загрузке. Значение по умолчанию этого свойства равно false.
Проверочные ограничения
Укажите, действуют ли на задачу проверочные ограничения. Значение по умолчанию этого свойства равно false.
Строк на пакет
Задает количество строк в одном пакете. Это свойство по умолчанию имеет значение -1, которое указывает на то, что никакое значение не присваивалось.
Макс. фиксируемый размер вставок
Задайте размер пакетов, который назначение «OLE DB» пытается зафиксировать во время операций быстрой загрузки. Значение по умолчанию 2147483647 указывает на то, что фиксация всех данных производится одним пакетом после обработки всех строк.
Если назначение «OLE DB» и другой компонент потока данных обновляют одну и ту же исходную таблицу, то значение 0 может привести к тому, что выполняемый пакет перестанет отвечать на запросы. Чтобы решить эту проблему, задайте для параметра Макс. фиксируемый размер вставок значение 2147483647.
Режим доступа к данным — команда SQL
Текст команды SQL
Введите текст SQL-запроса, постройте запрос, нажав кнопку Создать запрос, или выберите файл, содержащий текст запроса, нажав кнопку Обзор.
Назначение «OLE DB» не поддерживает параметры. Если необходимо выполнить параметризованную инструкцию INSERT, лучше воспользоваться преобразованием «Команда OLE DB». Дополнительные сведения см. в разделе OLE DB Command Transformation.
Создать запрос
Воспользуйтесь диалоговым окном Построитель запросов для визуального конструирования SQL-запроса.
Обзор
Воспользуйтесь диалоговым окном Открыть для выбора файла, содержащего текст SQL-запроса.
Анализ запроса
Проверить синтаксис текста запроса.
Редактор назначения OLE DB (страница «Сопоставления»)
Страница Сопоставления диалогового окна Редактор назначения «OLE DB» используется для сопоставления входных столбцов с целевыми.
Параметры
Доступные входные столбцы
Просмотрите список доступных входных столбцов. Для сопоставления доступных входных столбцов с целевыми столбцами используется операция перетаскивания.
Доступные целевые столбцы
Просмотрите список доступных целевых столбцов. Чтобы сопоставить доступные целевые столбцы с входными столбцами, воспользуйтесь операцией перетаскивания.
Целевой столбец
Позволяет просмотреть каждый из доступных целевых столбцов без учета наличия или отсутствия сопоставления.
Редактор назначения «OLE DB» (страница «Вывод ошибок»)
Страница Вывод ошибок диалогового окна Редактор назначения «OLE DB» используется для задания параметров обработки ошибок.
Параметры
Ввод-вывод
Просмотрите имя входных данных.
Столбец
Не используется.
Error
Задайте действие, которое необходимо выполнить при возникновении ошибки: пропустить ошибку, перенаправить строку или вызвать сбой компонента.
Усечение
Не используется.
Описание
Просмотрите описание операции.
Присвоить указанное значение выбранным ячейкам
Укажите действие, которое необходимо применить ко всем выбранным ячейкам при возникновении ошибки или усечения: пропустить ошибку, перенаправить строку или вызвать сбой компонента.
Применить
Применить параметр обработки ошибок к выбранным ячейкам.
Обзор поставщика OLE DB Майкрософт для ODBC
Для программистов ADO или RDS идеальным миром будет один, в котором каждый источник данных предоставляет интерфейс OLE DB, чтобы ADO мог напрямую обращаться к источнику данных. Хотя все больше поставщиков баз данных реализуют OLE DB интерфейсы, некоторые источники данных пока не предоставляются таким образом. Однако большинство систем СУБД, используемых сегодня, доступны через ODBC.
драйверы ODBC доступны для всех основных субд, используемых сегодня, включая Microsoft SQL Server, microsoft Access (ядро субд microsoft Jet) и Microsoft FoxPro, помимо таких продуктов баз данных, как Oracle.
Однако поставщик Microsoft ODBC позволяет ADO подключаться к любому источнику данных ODBC. Поставщик бесплатен и поддерживает Юникод.
Поставщик поддерживает транзакции, хотя различные ядра СУБД предлагают различные типы поддержки транзакций. Например, Microsoft Access поддерживает вложенные транзакции размером до пяти уровней.
Это поставщик по умолчанию для ADO, и поддерживаются все зависящие от поставщика свойства и методы ADO.
Параметры строки соединения
Чтобы подключиться к этому поставщику, задайте для аргумента provider = свойства ConnectionString значение:
При чтении свойства поставщика также будет возвращена эта строка.
Типичная строка подключения
Типичная строка подключения для этого поставщика:
Строка состоит из следующих ключевых слов:
Ключевое слово | Описание |
---|---|
Поставщик | Указывает поставщика OLE DB для ODBC. |
DSN | Указывает имя источника данных. |
UID | Указывает имя пользователя. |
PWD | Указывает пароль пользователя. |
URL-адрес | Указывает URL-адрес файла или каталога, опубликованного в веб-папке. |
Так как это поставщик по умолчанию для ADO, если опустить параметр provider = из строки подключения, ADO попытается установить соединение с этим поставщиком.
при подключении к поставщику источника данных, который поддерживает проверку подлинности Windows, следует указать Trusted_Connection = yes или Integrated Security = SSPI вместо сведений об идентификаторе пользователя и пароле в строке подключения.
Поставщик не поддерживает некоторые параметры соединения в дополнение к определенным в ADO. Однако поставщик передаст параметры подключения, отличные от ADO, к диспетчеру драйверов ODBC.
Так как параметр provider можно опустить, можно создать строку подключения ADO, идентичную строке подключения ODBC для того же источника данных. Используйте те же имена параметров (Driver =, Database =, DSN = и т. д.), значения и синтаксис, как при создании строки подключения ODBC. Можно подключиться к предопределенному имени источника данных (DSN) или FileDSN без него.
Синтаксис с DSN или FileDSN:
Синтаксис без имени DSN (подключение, не имеющее имени DSN):
Комментарии
если используется имя DSN или FileDSN, оно должно быть определено с помощью администратора источников данных ODBC на панели управления Windows. в Microsoft Windows 2000 администратор ODBC находится в разделе администрирование. в более ранних версиях Windows значок администратора odbc называется 32-bit ODBC или просто odbc.
вместо установки имени DSN можно указать драйвер ODBC (driver =), например «SQL Server;» имя сервера (server =); и имя базы данных (база данных =).
Свойства подключения Provider-Specific
Имя свойства | Описание |
---|---|
Доступные процедуры (KAGPROP_ACCESSIBLEPROCEDURES) | Указывает, имеет ли пользователь доступ к хранимым процедурам. |
Доступные таблицы (KAGPROP_ACCESSIBLETABLES) | Указывает, имеет ли пользователь разрешение на выполнение инструкций SELECT в таблицах базы данных. |
Активные инструкции (KAGPROP_ACTIVESTATEMENTS) | Указывает число дескрипторов, которые драйвер ODBC может поддерживать для соединения. |
Имя драйвера (KAGPROP_DRIVERNAME) | Указывает имя файла драйвера ODBC. |
Версия ODBC драйвера (KAGPROP_DRIVERODBCVER) | Указывает версию ODBC, поддерживаемую этим драйвером. |
Использование файлов (KAGPROP_FILEUSAGE) | Указывает, как драйвер обрабатывает файл в источнике данных; в виде таблицы или каталога. |
Предложение escape-выражения LIKE (KAGPROP_LIKEESCAPECLAUSE) | Указывает, поддерживает ли драйвер определение и использование escape-символа для символа процента (%) и символа подчеркивания (_) в предикате LIKE предложения WHERE. |
Максимальное число столбцов в Group By (KAGPROP_MAXCOLUMNSINGROUPBY) | Указывает максимальное количество столбцов, которые могут быть перечислены в предложении GROUP BY инструкции SELECT. |
Максимальное число столбцов в индексе (KAGPROP_MAXCOLUMNSININDEX) | Указывает максимальное число столбцов, которые могут быть добавлены в индекс. |
Максимальное число столбцов в заданном порядке (KAGPROP_MAXCOLUMNSINORDERBY) | Указывает максимальное количество столбцов, которые могут быть перечислены в предложении ORDER BY инструкции SELECT. |
Максимальное число столбцов в SELECT (KAGPROP_MAXCOLUMNSINSELECT) | Указывает максимальное количество столбцов, которые могут быть перечислены в части SELECT инструкции SELECT. |
Максимальное число столбцов в таблице (KAGPROP_MAXCOLUMNSINTABLE) | Указывает максимальное число столбцов, допустимое в таблице. |
Числовые функции (KAGPROP_NUMERICFUNCTIONS) | Указывает, какие числовые функции поддерживаются драйвером ODBC. Список имен функций и связанных значений, используемых в этой битовой маске, см. в приложении E: скалярные функциив документации по ODBC. |
Возможности внешнего объединения (KAGPROP_OJCAPABILITY) | Указывает типы внешних соединений, поддерживаемые поставщиком. |
Внешние объединения (KAGPROP_OUTERJOINS) | Указывает, поддерживает ли поставщик внешние объединения. |
Специальные символы (KAGPROP_SPECIALCHARACTERS) | Указывает, какие символы имеют специальное значение для драйвера ODBC. |
Хранимые процедуры (KAGPROP_PROCEDURES) | Указывает, доступны ли хранимые процедуры для использования с этим драйвером ODBC. |
Строковые функции (KAGPROP_STRINGFUNCTIONS) | Указывает, какие строковые функции поддерживаются драйвером ODBC. Список имен функций и связанных значений, используемых в этой битовой маске, см. в приложении E: скалярные функциив документации по ODBC. |
Системные функции (KAGPROP_SYSTEMFUNCTIONS) | Указывает, какие системные функции поддерживаются драйвером ODBC. Список имен функций и связанных значений, используемых в этой битовой маске, см. в приложении E: скалярные функциив документации по ODBC. |
Функции времени и даты (KAGPROP_TIMEDATEFUNCTIONS) | Указывает, какие функции времени и даты поддерживаются драйвером ODBC. Список имен функций и связанных значений, используемых в этой битовой маске, см. в приложении E: скалярные функциив документации по ODBC. |
SQL Поддержка грамматики (KAGPROP_ODBCSQLCONFORMANCE) | указывает грамматику SQL, поддерживаемую драйвером ODBC. |
Provider-Specific набор записей и свойства команд
Имя свойства | Описание |
---|---|
Обновления, операции удаления и вставки на основе запросов (KAGPROP_QUERYBASEDUPDATES) | указывает, можно ли выполнять операции обновления, удаления и вставки с помощью запросов SQL. |
Тип параллелизма ODBC (KAGPROP_CONCURRENCY) | Указывает метод, используемый для уменьшения потенциальных проблем, вызванных двумя пользователями, пытающимися получить доступ к одним и тем же данным из источника данных одновременно. |
Доступность больших двоичных объектов на Forward-Only курсоре (KAGPROP_BLOBSONFOCURSOR) | Указывает, можно ли получить доступ к полям BLOB-объектов при использовании однопроходного курсора. |
Включить SQL_FLOAT, SQL_DOUBLE и SQL_REAL в предложения WHERE КБУ (KAGPROP_INCLUDENONEXACT) | Указывает, можно ли включать значения SQL_FLOAT, SQL_DOUBLE и SQL_REAL в предложение WHERE КБУ. |
Расположение в последней строке после вставки (KAGPROP_POSITIONONNEWROW) | Указывает, что после вставки новой записи в таблицу последняя строка в таблице станет текущей. |
Ировсетчанжеекстинфо (KAGPROP_IROWSETCHANGEEXTINFO) | Указывает, предоставляет ли интерфейс IRowsetChange расширенную информацию. |
Тип курсора ODBC (KAGPROP_CURSOR) | Указывает тип курсора, используемого набором записей. |
Создание набора строк, который можно маршалировать (KAGPROP_MARSHALLABLE) | Указывает, что драйвер ODBC создает набор записей, который можно маршалировать |
Текст команды
Использование объекта команды во многом зависит от источника данных и типа запроса или оператора команды, который он будет принимать.
ODBC предоставляет специальный синтаксис для вызова хранимых процедур. Для свойства CommandText объекта Command аргумент CommandText для метода EXECUTE объекта Connection или Исходный аргумент для метода Open объекта Recordset передается в виде строки с этим синтаксисом:
Ссылки на параметры являются необязательными и зависят от структуры хранимой процедуры. Если вы хотите вызвать хранимую процедуру, которая не определяет параметры, строка будет выглядеть следующим образом:
Если у вас есть два параметра запроса, строка будет выглядеть следующим образом:
Если хранимая процедура вернет значение, возвращаемое значение рассматривается как другой параметр. Если у вас нет параметров запроса, но у вас есть возвращаемое значение, ваша строка будет выглядеть следующим образом:
Наконец, если у вас есть возвращаемое значение и два параметра запроса, ваша строка будет выглядеть следующим образом:
Поведение набора записей
Доступность стандартных свойств набора записей ADO:
Свойство | форвардонли | Динамический | Keyset | Статические |
---|---|---|---|---|
Примеры absolutepage | недоступно | недоступно | чтение/запись | чтение/запись |
Примеры AbsolutePosition | недоступно | недоступно | чтение/запись | чтение/запись |
ActiveConnection | чтение/запись | чтение/запись | чтение/запись | чтение/запись |
BOF | Только для чтения | Только для чтения | Только для чтения | Только для чтения |
Закладка | недоступно | недоступно | чтение/запись | чтение/запись |
CacheSize | чтение/запись | чтение/запись | чтение/запись | чтение/запись |
CursorLocation | чтение/запись | чтение/запись | чтение/запись | чтение/запись |
Примеры CursorType | чтение/запись | чтение/запись | чтение/запись | чтение/запись |
EditMode | Только для чтения | Только для чтения | Только для чтения | Только для чтения |
Фильтр | чтение/запись | чтение/запись | чтение/запись | чтение/запись |
LockType | чтение/запись | чтение/запись | чтение/запись | чтение/запись |
MarshalOptions | чтение/запись | чтение/запись | чтение/запись | чтение/запись |
MaxRecords | чтение/запись | чтение/запись | чтение/запись | чтение/запись |
PageCount | чтение/запись | недоступно | Только для чтения | Только для чтения |
PageSize | чтение/запись | чтение/запись | чтение/запись | чтение/запись |
RecordCount | чтение/запись | недоступно | Только для чтения | Только для чтения |
Источник | чтение/запись | чтение/запись | чтение/запись | чтение/запись |
Состояние | Только для чтения | Только для чтения | Только для чтения | Только для чтения |
Состояние | Только для чтения | Только для чтения | Только для чтения | Только для чтения |
Свойства примеры AbsolutePosition и примеры absolutepage доступны только для записи при использовании ADO с версией 1,0 поставщика Microsoft OLE DB для ODBC.
Доступность стандартных методов набора записей ADO:
Динамические свойства
Поставщик OLE DB Майкрософт для ODBC вставляет несколько динамических свойств в коллекцию свойств неоткрытыго соединения, набора записейи командных объектов.
В следующих таблицах приведены перекрестные индексы имен ADO и OLE DB для каждого динамического свойства. Ссылка на OLE DB программиста ссылается на имя свойства ADO по термину «Description». Дополнительные сведения об этих свойствах можно найти в справочнике по программисту OLE DB. Найдите имя свойства OLE DB в индексе или см. приложение в: OLE DB свойства.
Динамические свойства подключения
В коллекцию свойств объекта Connection добавляются следующие свойства.
Имя свойства ADO | Имя свойства OLE DB |
---|---|
Активные сеансы | DBPROP_ACTIVESESSIONS |
Прервать асинхронная | DBPROP_ASYNCTXNABORT |
Асинхронная фиксация | DBPROP_ASYNCTNXCOMMIT |
Уровни изоляции с автоматической фиксацией | DBPROP_SESS_AUTOCOMMITISOLEVELS |
Расположение каталога | DBPROP_CATALOGLOCATION |
Термин каталога | DBPROP_CATALOGTERM |
Определение столбца | DBPROP_COLUMNDEFINITION |
Время ожидания соединения | DBPROP_INIT_TIMEOUT |
Текущий каталог | DBPROP_CURRENTCATALOG |
Источник данных | DBPROP_INIT_DATASOURCE |
Имя базы данных-источника | DBPROP_DATASOURCENAME |
Потоковая модель объекта источника данных | DBPROP_DSOTHREADMODEL |
Имя СУБД | DBPROP_DBMSNAME |
Версия СУБД | DBPROP_DBMSVER |
Расширенные свойства | DBPROP_INIT_PROVIDERSTRING |
ГРУППИРОВКа по поддержке | DBPROP_GROUPBY |
Поддержка разнородных таблиц | DBPROP_HETEROGENEOUSTABLES |
Чувствительность идентификатора к регистру | DBPROP_IDENTIFIERCASE |
Начальный каталог | DBPROP_INIT_CATALOG |
Уровни изоляции | DBPROP_SUPPORTEDTXNISOLEVELS |
Хранение изоляции | DBPROP_SUPPORTEDTXNISORETAIN |
Идентификатор локали | DBPROP_INIT_LCID |
Расположение | DBPROP_INIT_LOCATION |
Максимальный размер индекса | DBPROP_MAXINDEXSIZE |
Максимальный размер строки | DBPROP_MAXROWSIZE |
Максимальный размер строки включает большой двоичный объект | DBPROP_MAXROWSIZEINCLUDESBLOB |
Максимальное число таблиц в SELECT | DBPROP_MAXTABLESINSELECT |
Режим | DBPROP_INIT_MODE |
Несколько наборов параметров | DBPROP_MULTIPLEPARAMSETS |
Множественные результаты | DBPROP_MULTIPLERESULTS |
несколько служба хранилища объектов | DBPROP_MULTIPLESTORAGEOBJECTS |
Обновление нескольких таблиц | DBPROP_MULTITABLEUPDATE |
Порядок параметров сортировки NULL | DBPROP_NULLCOLLATION |
Поведение сцепления со значением NULL | DBPROP_CONCATNULLBEHAVIOR |
Службы OLE DB | DBPROP_INIT_OLEDBSERVICES |
Версия OLE DB | DBPROP_PROVIDEROLEDBVER |
Поддержка объектов OLE | DBPROP_OLEOBJECTS |
Поддержка открытых наборов строк | DBPROP_OPENROWSETSUPPORT |
УПОРЯДОЧЕНие по столбцам в списке выбора | DBPROP_ORDERBYCOLUMNSINSELECT |
Доступность выходного параметра | DBPROP_OUTPUTPARAMETERAVAILABILITY |
Пароль | DBPROP_AUTH_PASSWORD |
Методы доступа для передачи по ссылке | DBPROP_BYREFACCESSORS |
Сохранять сведения о безопасности | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO |
Тип постоянного идентификатора | DBPROP_PERSISTENTIDTYPE |
Поведение при подготовке к прерыванию | DBPROP_PREPAREABORTBEHAVIOR |
Действие подготовки к фиксации | DBPROP_PREPARECOMMITBEHAVIOR |
Условие процедуры | DBPROP_PROCEDURETERM |
prompt | DBPROP_INIT_PROMPT |
Понятное имя поставщика | DBPROP_PROVIDERFRIENDLYNAME |
Provider Name | DBPROP_PROVIDERFILENAME |
Версия поставщика | DBPROP_PROVIDERVER |
Источник данных Read-Only | DBPROP_DATASOURCEREADONLY |
Преобразования наборов строк для команды | DBPROP_ROWSETCONVERSIONSONCOMMAND |
Термин схемы | DBPROP_SCHEMATERM |
Использование схемы | DBPROP_SCHEMAUSAGE |
Поддержка SQL | DBPROP_SQLSUPPORT |
структурированные служба хранилища | DBPROP_STRUCTUREDSTORAGE |
Поддержка вложенных запросов | DBPROP_SUBQUERIES |
Термин таблицы | DBPROP_TABLETERM |
DDL транзакции | DBPROP_SUPPORTEDTXNDDL |
Идентификатор пользователя. | DBPROP_AUTH_USERID |
Имя пользователя | DBPROP_USERNAME |
Дескриптор окна | DBPROP_INIT_HWND |
Динамические свойства набора записей
В коллекцию свойств объекта набора записей добавляются следующие свойства.
Имя свойства ADO | Имя свойства OLE DB |
---|---|
Порядок доступа | DBPROP_ACCESSORDER |
блокировка служба хранилища объектов | DBPROP_BLOCKINGSTORAGEOBJECTS |
Тип закладки | DBPROP_BOOKMARKTYPE |
С закладками | DBPROP_IROWSETLOCATE |
Изменить вставленные строки | DBPROP_CHANGEINSERTEDROWS |
Права доступа к столбцу | DBPROP_COLUMNRESTRICT |
Уведомление о наборе столбцов | DBPROP_NOTIFYCOLUMNSET |
откладывание служба хранилища обновлений объектов | DBPROP_DELAYSTORAGEOBJECTS |
Получить назад | DBPROP_CANFETCHBACKWARDS |
Удержание строк | DBPROP_CANHOLDROWS |
IAccessor | DBPROP_IAccessor |
IColumnsInfo | DBPROP_IColumnsInfo |
IColumnsRowset | DBPROP_IColumnsRowset |
IConnectionPointContainer | DBPROP_IConnectionPointContainer |
IConvertType | DBPROP_IConvertType |
Строки немобильных устройств | DBPROP_IMMOBILEROWS |
IRowset | DBPROP_IRowset |
IRowsetChange | DBPROP_IRowsetChange |
ировсетидентити | DBPROP_IRowsetIdentity |
IRowsetInfo | DBPROP_IRowsetInfo |
IRowsetLocate | DBPROP_IRowsetLocate |
Интерфейс irowsetresynch | |
IRowsetUpdate | DBPROP_IRowsetUpdate |
ISequentialStream | DBPROP_ISequentialStream |
ISupportErrorInfo | DBPROP_ISupportErrorInfo |
Литеральные закладки | DBPROP_LITERALBOOKMARKS |
Удостоверение литеральной строки | DBPROP_LITERALIDENTITY |
Максимальное число открытых строк | DBPROP_MAXOPENROWS |
Максимальное число ожидающих строк | DBPROP_MAXPENDINGROWS |
Максимальное число строк | DBPROP_MAXROWS |
Гранулярность уведомлений | DBPROP_NOTIFICATIONGRANULARITY |
Этапы уведомления | DBPROP_NOTIFICATIONPHASES |
Транзакционные объекты | DBPROP_TRANSACTEDOBJECT |
Видны собственные изменения | DBPROP_OWNUPDATEDELETE |
Видны собственные вставки | DBPROP_OWNINSERT |
Сохранить при прерывании | DBPROP_ABORTPRESERVE |
Сохранить при фиксации | DBPROP_COMMITPRESERVE |
Быстрый перезапуск | DBPROP_QUICKRESTART |
Повторные события | DBPROP_REENTRANTEVENTS |
Удалить удаленные строки | DBPROP_REMOVEDELETED |
Отчет о нескольких изменениях | DBPROP_REPORTMULTIPLECHANGES |
Возврат ожидающих вставок | DBPROP_RETURNPENDINGINSERTS |
Уведомление об удалении строки | DBPROP_NOTIFYROWDELETE |
Уведомление о первом изменении строки | DBPROP_NOTIFYROWFIRSTCHANGE |
Уведомление о вставке строки | DBPROP_NOTIFYROWINSERT |
Права доступа к строке | DBPROP_ROWRESTRICT |
Уведомление о повторной синхронизации строк | DBPROP_NOTIFYROWRESYNCH |
Потоковая модель строк | DBPROP_ROWTHREADMODEL |
Уведомление об отмене изменения строки | DBPROP_NOTIFYROWUNDOCHANGE |
Уведомление об отмене удаления строки | DBPROP_NOTIFYROWUNDODELETE |
Уведомление об отмене вставки строки | DBPROP_NOTIFYROWUNDOINSERT |
Уведомление об обновлении строки | DBPROP_NOTIFYROWUPDATE |
Уведомление об изменении расположения выборки набора строк | DBPROP_NOTIFYROWSETFETCHPOSISIONCHANGE |
Уведомление о выпуске набора строк | DBPROP_NOTIFYROWSETRELEASE |
Прокрутка назад | DBPROP_CANSCROLLBACKWARDS |
Пропустить удаленные закладки | DBPROP_BOOKMARKSKIPPED |
Строгая идентификация строк | DBPROP_STRONGITDENTITY |
Уникальные строки | DBPROP_UNIQUEROWS |
Updatability | DBPROP_UPDATABILITY |
Использование закладок | DBPROP_BOOKMARKS |
Динамические свойства команды
Имя свойства ADO | Имя свойства OLE DB |
---|---|
Порядок доступа | DBPROP_ACCESSORDER |
блокировка служба хранилища объектов | DBPROP_BLOCKINGSTORAGEOBJECTS |
Тип закладки | DBPROP_BOOKMARKTYPE |
С закладками | DBPROP_IROWSETLOCATE |
Изменить вставленные строки | DBPROP_CHANGEINSERTEDROWS |
Права доступа к столбцу | DBPROP_COLUMNRESTRICT |
Уведомление о наборе столбцов | DBPROP_NOTIFYCOLUMNSET |
откладывание служба хранилища обновлений объектов | DBPROP_DELAYSTORAGEOBJECTS |
Получить назад | DBPROP_CANFETCHBACKWARDS |
Удержание строк | DBPROP_CANHOLDROWS |
IAccessor | DBPROP_IAccessor |
IColumnsInfo | DBPROP_IColumnsInfo |
IColumnsRowset | DBPROP_IColumnsRowset |
IConnectionPointContainer | DBPROP_IConnectionPointContainer |
IConvertType | DBPROP_IConvertType |
Строки немобильных устройств | DBPROP_IMMOBILEROWS |
IRowset | DBPROP_IRowset |
IRowsetChange | DBPROP_IRowsetChange |
ировсетидентити | DBPROP_IRowsetIdentity |
IRowsetInfo | DBPROP_IRowsetInfo |
IRowsetLocate | DBPROP_IRowsetLocate |
Интерфейс irowsetresynch | |
IRowsetUpdate | DBPROP_IRowsetUpdate |
ISequentialStream | DBPROP_ISequentialStream |
ISupportErrorInfo | DBPROP_ISupportErrorInfo |
Литеральные закладки | DBPROP_LITERALBOOKMARKS |
Удостоверение литеральной строки | DBPROP_LITERALIDENTITY |
Максимальное число открытых строк | DBPROP_MAXOPENROWS |
Максимальное число ожидающих строк | DBPROP_MAXPENDINGROWS |
Максимальное число строк | DBPROP_MAXROWS |
Гранулярность уведомлений | DBPROP_NOTIFICATIONGRANULARITY |
Этапы уведомления | DBPROP_NOTIFICATIONPHASES |
Транзакционные объекты | DBPROP_TRANSACTEDOBJECT |
Видны собственные изменения | DBPROP_OWNUPDATEDELETE |
Видны собственные вставки | DBPROP_OWNINSERT |
Сохранить при прерывании | DBPROP_ABORTPRESERVE |
Сохранить при фиксации | DBPROP_COMMITPRESERVE |
Быстрый перезапуск | DBPROP_QUICKRESTART |
Повторные события | DBPROP_REENTRANTEVENTS |
Удалить удаленные строки | DBPROP_REMOVEDELETED |
Отчет о нескольких изменениях | DBPROP_REPORTMULTIPLECHANGES |
Возврат ожидающих вставок | DBPROP_RETURNPENDINGINSERTS |
Уведомление об удалении строки | DBPROP_NOTIFYROWDELETE |
Уведомление о первом изменении строки | DBPROP_NOTIFYROWFIRSTCHANGE |
Уведомление о вставке строки | DBPROP_NOTIFYROWINSERT |
Права доступа к строке | DBPROP_ROWRESTRICT |
Уведомление о повторной синхронизации строк | DBPROP_NOTIFYROWRESYNCH |
Потоковая модель строк | DBPROP_ROWTHREADMODEL |
Уведомление об отмене изменения строки | DBPROP_NOTIFYROWUNDOCHANGE |
Уведомление об отмене удаления строки | DBPROP_NOTIFYROWUNDODELETE |
Уведомление об отмене вставки строки | DBPROP_NOTIFYROWUNDOINSERT |
Уведомление об обновлении строки | DBPROP_NOTIFYROWUPDATE |
Уведомление об изменении расположения выборки набора строк | DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE |
Уведомление о выпуске набора строк | DBPROP_NOTIFYROWSETRELEASE |
Прокрутка назад | DBPROP_CANSCROLLBACKWARDS |
Пропустить удаленные закладки | DBPROP_BOOKMARKSKIP |
Строгая идентификация строк | DBPROP_STRONGIDENTITY |
Updatability | DBPROP_UPDATABILITY |
Использование закладок | DBPROP_BOOKMARKS |
дополнительные сведения о конкретной реализации и функциональных возможностях о поставщике OLE DB майкрософт для ODBC см. в справочнике по программированию OLE DB или посетите веб-узел центра разработчиков для доступа к данным и служба хранилища на сайте MSDN.