что такое sql провайдер
Введение в ADO.NET
Что такое ADO.NET?
Сегодня большое значение имеет работа с данными. Для хранения данных используются различные системы управления базами данных: MS SQL Server, Oracle, MySQL и так далее. И большинство крупных приложений так или иначе используют для хранения данных эти системы управления базами данных. Однако чтобы осуществлять связь между базой данных и приложением на C# необходим посредник. И именно таким посредником является технология ADO.NET.
Причем важно отметить, что систем управления баз данных может быть множество. В своей сущности они могут различаться. MS SQL Server, например, для создания запросов использует язык T-SQL, а MySQL и Oracle применяют язык PL-SQL. Разные системы баз данных могут иметь разные типы данных. Также могут различаться какие-то другие моменты. Однако функционал ADO.NET построен таким образом, чтобы предоставить разработчикам унифицированный интерфейс для работы с самыми различными СУБД.
Основу интерфейса взаимодействия с базами данных в ADO.NET представляет ограниченный круг объектов: Connection, Command, DataReader, DataSet и DataAdapter. С помощью объекта Connection происходит установка подключения к источнику данных. Объект Command позволяет выполнять операции с данными из БД. Объект DataReader считывает полученные в результате запроса данные. Объект DataSet предназначен для хранения данных из БД и позволяет работать с ними независимо от БД. И объект DataAdapter является посредником между DataSet и источником данных. Главным образом, через эти объекты и будет идти работа с базой данных.
По умолчанию в ADO.NET имеются следующие встроенные провайдеры:
Провайдер для MS SQL Server
Провайдер для OLE DB (Предоставляет доступ к некоторым старым версиям MS SQL Server, а также к БД Access, DB2, MySQL и Oracle)
Провайдер для ODBC (Провайдер для тех источников данных, для которых нет своих провайдеров)
Провайдер для Oracle
Провайдер EntityClient. Провайдер данных для технологии ORM Entity Framework
Провайдер для сервера SQL Server Compact 4.0
Кроме этих провайдеров, которые являются встроенными, существует также множество других, предназначенных для различных баз данных, например, для MySQL.
Основные пространства имен, которые используются в ADO.NET:
System.Data : определяет классы, интерфейсы, делегаты, которые реализуют архитектуру ADO.NET
System.Data.Common : содержит классы, общие для всех провайдеров ADO.NET
System.Data.Design : определяет классы, которые используются для создания своих собственных наборов данных
System.Data.Odbc : определяет функциональность провайдера данных для ODBC
System.Data.OleDb : определяет функциональность провайдера данных для OLE DB
System.Data.Sql : хранит классы, которые поддерживают специфичную для SQL Server функциональность
System.Data.OracleClient : определяет функциональность провайдера для баз данных Oracle
System.Data.SqlClient : определяет функциональность провайдера для баз данных MS SQL Server
System.Data.SqlServerCe : определяет функциональность провайдера для SQL Server Compact 4.0
System.Data.SqlTypes : содержит классы для типов данных MS SQL Servera
Microsoft.SqlServer.Server : хранит компоненты для взаимодействия SQL Server и среды CLR
Схематично архитектуру ADO.NET можно представить следующим образом:
Другие классы, такие как DataSet, DataTable, DataRow, DataColumn и ряд других составляют отключенный уровень, так как после извлечения данных в DataSet мы можем работать с этими данными независимо от того, установлено ли подключение или нет. То есть после получения данных из БД приложение может быть отключено от источника данных.
Объекты ADO (продолжение)
Провайдеры
Провайдер ODBC
Провайдер ODBC, являясь Провайдером по умолчанию, поддерживает все зависящие от Провайдера свойства и методы объектов ADO. Он поддерживает транзакции, в том числе и гнездованные транзакции. Однако различные СУБД могут обеспечивать различный уровень поддержки транзакций, например, Microsoft Access поддерживает гнездованные транзакции на глубину не более пяти уровней.
Для этого Провайдера аргумент Provider свойства ConnectionString следует установить как MSDASQL. Типичная строка соединения имеет вид:
Аргумент DSN (Data Source Name), задает имя источника данных. Это имя должно быть зарегистрировано в Администраторе источников данных ODBC, добраться до которого можно из панели управления. Вот как выглядит окно Администратора, в котором я установил DSN для тестовой базы данных.
Приведу пример работы с этой базой данных:
Хочу обратить внимание на два момента:
Провайдер Microsoft Jet
Этот Провайдер позволяет получить доступ к Microsoft Jet базам данных, а, следовательно, к базам данных, созданным в приложении Access. В большинстве приведенных примерах использовался именно этот Провайдер. Типичная строка соединения имеет вид:
Провайдер Internet Publishing
Примеры использования этого Провайдера уже были приведены.
Провайдер SQL Server
Провайдер Oracle
Другие Провайдеры
Краткие данные о других Провайдерах приведу в таблице.
Настройка связанного сервера с Oracle в Microsoft SQL Server
В Microsoft SQL Server есть возможность обращения к различным источникам данных, которые расположены вне SQL сервера, это возможно благодаря технологии связанных серверов и сегодня мы с Вами рассмотрим пример настройки связанного сервера с СУБД Oracle.
Подробно о том, что такое связанный сервер, а также простые примеры настройки связанных серверов мы с Вами рассматривали в материале – Связанные серверы в MS SQL Server 2014.
Сейчас как я уже сказал, мы будем настраивать связанный сервер, источником данных которого будет выступать СУБД Oracle.
Прежде чем начать хотелось бы сказать, что для настройки связанных серверов используются так называемые «Провайдеры» или «Поставщики», которых на самом деле много. Для связи с Oracle существует несколько поставщиков, например:
Все рекомендуют использовать провайдер от Oracle, в том числе и я, основываясь на собственном опыте. Так как OraOLEDB.Oracle более оптимизирован для работы с Oracle, например, как-то раз при использовании провайдера MSDAORA текстовые данные на русском языке (VARCHAR2) с сервера Oracle приходили мне в виде «. », после недолгого шаманства пришлось сменить провайдера.
Поэтому сегодня мы будем рассматривать пример настройки связанного сервера с использованием Oracle Provider for OLE DB (OraOLEDB.Oracle) от компании Oracle.
Практически для любого поставщика требуются какие-то инструменты, чтобы он функционировал, в том числе и для OraOLEDB.Oracle.
Для того чтобы провайдер OraOLEDB.Oracle работал его необходимо установить, предварительно скачав с официального сайта Oracle.
Как скачать Oracle Provider for OLE DB (OraOLEDB.Oracle)?
Oracle Provider for OLE DB на текущий момент распространяется в составе инструмента для разработчиков ODAC.
Oracle Data Access Components (ODAC) – это набор компонентов для разработчиков, который предоставляет им доступ к данным Oracle.
Чтобы его скачать, необходимо зарегистрироваться на сайте Oracle или если Вы уже зарегистрированы, то войти в аккаунт. Затем переходите на страницу загрузки ODAC вот она.
Потом в зависимости от Вашей системы (т.е. на которой установлен MS SQL Server), Вы выбираете 32 битную версию или 64 битную. У меня система 64 битная, поэтому я нажимаю на ссылку 64-bit ODAC Downloads.
После перехода на следующую страницу сразу соглашаетесь с условиями лицензионного соглашения, т.е. отмечаете пункт «Accept License Agreement».
Далее Вы выбираете версию ODAC, которая соответствует версии СУБД Oracle.
При этом название файлов с префиксом «Xcopy» означает, что установка будет осуществляться посредством пакетных файлов (батников). Если такого префикса нет, то в данном архиве присутствует некий дистрибутив с графическим интерфейсом.
Итак, как я уже сказал у меня версия Oracle Express Edition 11g, поэтому я выбираю 64-bit ODAC 11.2 Release 5 (11.2.0.3.20) for Windows x64 – это вариант с установкой через графический интерфейс.
В итоге у меня загрузился файл ODAC1120320_x64.zip
Установка Oracle Data Access Components (ODAC)
Распаковываем архив и запускам файл setup.exe.
Шаг 1
Запустится программа установки ODAC, на первом окне мы нажимаем «Next».
Шаг 2
Затем оставляем по умолчанию, т.е. нам нужна установка клиентской части, жмем «Next».
Шаг 3
Далее, если хотите, можете указать каталог для установки ODAC, я предварительно создал папку «OracleOleDB» на диске C специально для этих целей, поэтому я ее и выбираю, жмем «Next».
Шаг 4
Теперь нам необходимо выбрать компоненты, которые мы хотим установить, в нашем случае нам нужен только Oracle Provider for OLE DB и, конечно же, Oracle Instant Client, с остальных компонентов снимаем галочку и жмем «Next».
Шаг 5
Проверяем все параметры установки и жмем «Install».
В итоге начнется процесс установки.
Он будет завершен, когда появится следующее сообщение, жмем «Exit».
Шаг 6
После того как установился провайдер Oracle Provider for OLE DB нам необходимо в каталог «C:\OracleOleDB\product\11.2.0\client_1\Network\Admin» (в моем случае) скопировать файл tnsnames.ora с сервера Oracle (из каталога …\network\ADMIN) или создать самим такой файлик и вписать в него настройки подключения, которые нам сообщит администратор Oracle, например, у меня для Express Edition они вот такие.
В данном каталоге есть папка Sample, в которой есть пример заполнения файла tnsnames.ora.
После установки Oracle Provider for OLE DB необходимо перезагрузить сервер.
Проверка работы провайдера OraOLEDB.Oracle
Перед тем как переходить к созданию связанного сервера на Microsoft SQL Server необходимо проверить правильно ли мы установили провайдера. Это можно сделать следующим образом. Создайте на рабочем столе простой текстовый файл, например, TestConnect.txt, затем измените его расширение на TestConnect.udl
Запустите его, и у Вас откроется окно «Свойства канала передачи данных». Далее Вам необходимо на вкладке «Поставщик данных» выбрать поставщика, т.е. в нашем случае это «Oracle Provider for OLE DB» и нажать «Далее».
После чего Вы перейдете на вкладку «Соединение», где нужно заполнить параметры подключения:
И для проверки связи нажимаем «Проверить соединение».
Если у Вас появилось сообщение «Проверка соединения выполнена», то можете переходить к созданию связанного сервера, если нет, то у Вас что-то с провайдером или с сервером Oracle.
Создание связанного сервера с использованием провайдера OraOLEDB.Oracle
Для того чтобы создать связанный сервер в Microsoft SQL Server запустите среду Management Studio.
Сначала давайте у провайдера изменим один параметр под названием «AllowInProcess» или «Допускать в ходе процесса», так как этого требует провайдер OraOLEDB.Oracle. В остальных случаях не рекомендуется использовать данную опцию, так как в этом случае если произойдет сбой провайдера, то и весь SQL сервер даст сбой.
Отметьте вышеуказанный параметр, т.е. «Допускать в ходе процесса» и нажмите «ОК».
Теперь переходим непосредственно к созданию так называемого Linked-сервера.
Щелкаем правой кнопкой мыши по контейнеру «Связанные серверы» и выбираем «Создать связанный сервер».
Затем вводим параметры связанного сервера, а именно:
Потом переходим на вкладку «Безопасность», выбираем пункт «Устанавливать с использованием следующего контекста безопасности» и вводим логин и пароль от СУБД Oracle. Жмем «ОК».
Все готово, связанный сервер мы создали, и он у нас отобразился в списке связанных серверов в Management Studio. Теперь мы можем обращаться (посылать запросы) к этому связанному серверу, например, у меня на сервере Oracle есть таблица ORACLETABLE, которая содержит просто какой-то список товаров, и для того чтобы осуществить выборку данных из этой таблицы с помощью Management Studio SQL сервера, можно использовать следующие запросы.
Если Вы предпочитаете пользоваться SQL инструкциями, то ниже представлена инструкция, которая делает ровно то же самое что и мы чуть ранее в графическом интерфейсе SSMS.
Устранение возможных ошибок при создании связанного сервера с Oracle в Microsoft SQL Server
Ошибка 7302
«Не удалось создать экземпляр поставщика OLE DB «OraOLEDB.Oracle» для связанного сервера …»
Возможно, отсутствует (или некорректный) путь к каталогу с Instant Client (каталог в который Вы установили ODAC) в системной переменной PATH. Необходимо его прописать и перезапустить SQL сервер. Также возможно параметр ORACLE_HOME задан неверно.
Ошибка 7303
Данная ошибка возвращается SQL сервером в случае, когда не удалось проинициализировать объект источника данных поставщика OLE DB, например, в нашем случае «OraOLEDB.Oracle». Причин, по которым она появляется много, поэтому нам необходимо смотреть ошибку, которую вернул сам провайдер.
Ошибки при инициализации провайдера OraOLEDB.Oracle
Описание ошибки | Возможные причины, устранение |
ORA-01017: invalid username/password; logon denied | Неправильно указан логин и пароль к БД Oracle. |
ORA-12154: TNS:could not resolve the connect identifier specified | Файл tnsnames.ora отсутствует или в нем указан несуществующий SID и SERVICE_NAME. Также возможно Вы неправильно ввели его при создании связанного сервера в строке «Источник данных». |
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor | В файле tnsnames.ora неправильно введен SERVICE_NAME |
ORA-12533: TNS:illegal ADDRESS parameters | Некорректное название параметров в файле tnsnames.ora (например, ADDRESS). |
ORA-12541: TNS:no listener | Ошибка означает, что у Вас в файле tnsnames.ora неправильно указан PORT, на котором работает сервер Oracle. Необходимо узнать на каком порту работает сервер Oracle, и указать его в этом параметре. |
ORA-12545: Connect failed because target host or object does not exist | Данная ошибка возвращается тогда, когда в файле tnsnames.ora неправильно указан (или просто недоступен) сервер Oracle, т.е. параметр HOST. В данном случае необходимо: проверить данный параметр, проверить доступность сервера. |
В случае если у Вас в каких-нибудь сообщениях выскакивает провайдер OLE DB «MSDAORA» (или любой другой провайдер или вообще он не указан), то это означает, что Вы неправильно выбрали провайдера при создании связанного сервера. MSDAORA – это провайдер от компании Microsoft. OraOLEDB.Oracle – от компании Oracle, как я говорил, рекомендовано использовать провайдер от Oracle.
Теперь давайте рассмотрим несколько ошибок, которые могут возникнуть уже после создания связанного сервера, т.е. связанный сервер создан, но при обращении к его объектам возникает ошибка.
Ошибка 7314
«Поставщик OLE DB «OraOLEDB.Oracle» для связанного сервера «Название сервера» не содержит таблицы «Название таблицы». Таблица либо не существует, либо текущий пользователь не имеет разрешения на доступ к ней.»
Здесь Вы, наверное, ошиблись в написании самого объекта, например, написали имя объекта в неправильном регистре. Oracle чувствителен к регистру, если к нему обращаться через ссылку связанного сервера, например
В этом случае если таблица OracleTable на сервере Oracle создана как ORACLETABLE, у Вас возникнет ошибка. Чтобы этого избежать, можно указать правильный регистр или использовать конструкцию OPENQUERY, например
Также не исключено что объекта действительно нет или у Вас отсутствуют необходимые разрешения.
Для того чтобы посмотреть, какие объекты и в каком регистре есть на сервере (т.е. узнать точное имя) можно использовать процедуру sp_tables_ex, например
Ошибка 7356
«Поставщик OLE DB «MSDAORA» для связанного сервера «Название сервера» предоставил несогласованные метаданные для столбца.»
Данную ошибку я встречал у поставщика MSDAORA, когда пытался обратиться к таблице, в которой нет данных, т.е. она пустая (нет строк). Эту ошибку можно избежать, если использовать конструкцию OPENQUERY.
Ошибка 7357
«Не удалось обработать объект «Название объекта». Поставщик OLE DB «OraOLEDB.Oracle» для связанного сервера «Название сервера» обнаружил, что у объекта либо нет ни одного столбца, либо текущий пользователь не имеет разрешения на доступ к объекту.»
В данном случае скорей всего Вы пытаетесь обратиться к таблице (или другому объекту) от имени пользователя, который не имеет разрешения на доступ к ней. Другими словами, у пользователя, которого Вы указывали при создании связанного сервера, нет необходимых прав.
Заметка! Если Вас интересует язык SQL, рекомендую почитать мою книгу «SQL код», которая ориентирована на изучение SQL как стандарта, после прочтения книги Вы сможете писать SQL запросы в любой системе управления базами данных.
обзор поставщика OLE DB майкрософт для SQL Server
поставщик OLE DB майкрософт для SQL Server, SQLOLEDB предоставляет ADO доступ к Microsoft SQL Server.
поставщик OLE DB майкрософт для SQL Server (SQLOLEDB) остается устаревшим и не рекомендуется использовать его для новых задач разработки. Вместо этого используйте новый драйвер Microsoft OLE DB для SQL Server (MSOLEDBSQL), который будет обновлен с самыми последними серверными компонентами.
Параметры строки соединения
Чтобы подключиться к поставщику, задайте для аргумента поставщика в качестве значения свойства ConnectionString значение:
Типичная строка подключения
Типичная строка подключения для этого поставщика:
Строка состоит из следующих ключевых слов:
Ключевое слово | Описание |
---|---|
Поставщик | Указывает поставщика OLE DB для SQL Server. |
Источник данных или сервер | Указывает имя сервера. |
Исходный каталог или база данных | Указывает имя базы данных на сервере. |
Идентификатор пользователя или UID | указывает имя пользователя (для проверки подлинности SQL Server). |
Password или PWD | указывает пароль пользователя (для SQL Server проверки подлинности). |
при подключении к поставщику источника данных, который поддерживает проверку подлинности Windows, следует указать Trusted_Connection = yes или Integrated Security = SSPI вместо сведений об идентификаторе пользователя и пароле в строке подключения.
Параметры подключения Provider-Specific
Поставщик поддерживает несколько параметров соединения, зависящих от поставщика, помимо тех, которые определены в ADO. Как и в случае со свойствами соединения ADO, эти свойства, зависящие от поставщика, могут быть заданы через коллекцию свойств соединения или могут быть заданы как часть ConnectionString.
Использование объекта команды
SQLOLEDB принимает в качестве допустимого синтаксиса амалгам, SQL характерную для ODBC, ANSI и SQL Server. Например, следующая инструкция SQL использует escape-последовательность ODBC SQL, чтобы указать строковую функцию LCASE.
Функция LCASE возвращает строковое выражение, в котором все символы приведены к нижнему регистру. в ansi SQL строковая функция LOWER выполняет одну и ту же операцию, поэтому следующая инструкция SQL является эквивалентом приведенной выше инструкции ODBC в кодировке ansi.
SQLOLEDB успешно обрабатывает любую форму инструкции, если она указана в качестве текста для команды.
Хранимые процедуры
при выполнении SQL Server хранимой процедуры с помощью команды SQLOLEDB используйте escape-последовательность вызова процедуры ODBC в тексте команды. затем служба SQLOLEDB использует механизм удаленного вызова процедур SQL Server для оптимизации обработки команд. например, следующая инструкция ODBC SQL является предпочтительным текстом команды в форме Transact-SQL:
ODBC SQL
Transact-SQL
Функции SQL Server
доступ к данным sql_variant с помощью mdac 2,7, mdac 2,8 или Windows DAC 6,0
Множественные приведение типов данных приведет к несовпадению типов. Например, при преобразовании sql_variant с подтипом GUID в DBTYPE_VARIANT приведет к подтипу SAFEARRAY(bytes). Преобразование этого типа обратно в sql_variant приведет к созданию нового подтипа массива(байт).
В клиентских приложениях, использующих MDAC 2,5, sql_variant данные могут использоваться с запросами Microsoft SQL Server. Однако значения sql_variant данных обрабатываются как строки. такие клиентские приложения должны быть обновлены до mdac 2,7, mdac 2,8 или Windows DAC 6,0.
Поведение набора записей
SQLOLEDB не может использовать SQL Server курсоры для поддержки нескольких результатов, созданных многими командами. если потребитель запрашивает набор записей, который требует SQL Server поддержки курсора, возникает ошибка, если используемый текст команды создает в качестве результата больше одного набора записей.
доступные для прокрутки наборы записей SQLOLEDB поддерживаются SQL Server курсорами. SQL Server накладывает ограничения на курсоры, которые чувствительны к изменениям, внесенным другими пользователями базы данных. в частности, строки в некоторых курсорах не могут быть упорядочены, и попытка создать набор записей с помощью команды, содержащей предложение SQL order BY, может завершиться ошибкой.
Динамические свойства
поставщик OLE DB майкрософт для SQL Server вставляет несколько динамических свойств в коллекцию свойств неоткрытыго соединения, набора записейи командных объектов.
В следующих таблицах приведены перекрестные индексы имен ADO и OLE DB для каждого динамического свойства. Ссылка на OLE DB программиста ссылается на имя свойства ADO по термину «описание». Дополнительные сведения об этих свойствах можно найти в справочнике по программисту OLE DB. Найдите имя свойства OLE DB в индексе или см. приложение в: OLE DB свойства.
Динамические свойства подключения
Имя свойства 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_MAXINDEXSIZE |
Максимальный размер строки | DBPROP_MAXROWSIZE |
Максимальный размер строки включает большой двоичный объект | DBPROP_MAXROWSIZEINCLUDESBLOB |
Максимальное число таблиц в SELECT | DBPROP_MAXTABLESINSELECT |
Несколько наборов параметров | DBPROP_MULTIPLEPARAMSETS |
Множественные результаты | DBPROP_MULTIPLERESULTS |
несколько служба хранилища объектов | DBPROP_MULTIPLESTORAGEOBJECTS |
Обновление нескольких таблиц | DBPROP_MULTITABLEUPDATE |
Порядок параметров сортировки NULL | DBPROP_NULLCOLLATION |
Поведение сцепления со значением NULL | DBPROP_CONCATNULLBEHAVIOR |
Версия OLE DB | DBPROP_PROVIDEROLEDBVER |
Поддержка объектов OLE | DBPROP_OLEOBJECTS |
Поддержка открытых наборов строк | DBPROP_OPENROWSETSUPPORT |
УПОРЯДОЧЕНие по столбцам в списке выбора | DBPROP_ORDERBYCOLUMNSINSELECT |
Доступность выходного параметра | DBPROP_OUTPUTPARAMETERAVAILABILITY |
Методы доступа для передачи по ссылке | DBPROP_BYREFACCESSORS |
Пароль | DBPROP_AUTH_PASSWORD |
Сохранять сведения о безопасности | 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_COMMANDTIMEOUT |
Откладывание столбца | DBPROP_DEFERRED |
откладывание служба хранилища обновлений объектов | 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_IRowsestLocate |
Интерфейс irowsetresynch | |
IRowsetScroll | DBPROP_IRowsetScroll |
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_OTHERUPDATEDELETE |
Видимые вставки других пользователей | DBPROP_OTHERINSERT |
Видны собственные изменения | 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_SERVERCURSOR |
Пропустить удаленные закладки | DBPROP_BOOKMARKSKIPPED |
Строгая идентификация строк | DBPROP_STRONGITDENTITY |
Уникальные строки | DBPROP_UNIQUEROWS |
Updatability | DBPROP_UPDATABILITY |
Использование закладок | DBPROP_BOOKMARKS |
Динамические свойства команды
Имя свойства ADO | Имя свойства OLE DB |
---|---|
Порядок доступа | DBPROP_ACCESSORDER |
Базовый путь | SSPROP_STREAM_BASEPATH |
блокировка служба хранилища объектов | DBPROP_BLOCKINGSTORAGEOBJECTS |
Тип закладки | DBPROP_BOOKMARKTYPE |
С закладками | DBPROP_IROWSETLOCATE |
Изменить вставленные строки | DBPROP_CHANGEINSERTEDROWS |
Права доступа к столбцу | DBPROP_COLUMNRESTRICT |
Уведомление о наборе столбцов | DBPROP_NOTIFYCOLUMNSET |
Тип содержимого | SSPROP_STREAM_CONTENTTYPE |
Автоматическая выборка курсора | SSPROP_CURSORAUTOFETCH |
Откладывание столбца | DBPROP_DEFERRED |
Отложенная подготовка | SSPROP_DEFERPREPARE |
откладывание служба хранилища обновлений объектов | 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 | DBPROP_IRowsetResynch |
IRowsetScroll | DBPROP_IRowsetScroll |
IRowsetUpdate | DBPROP_IRowsetUpdate |
ISequentialStream | DBPROP_ISequentialStream |
ISupportErrorInfo | DBPROP_ISupportErrorInfo |
Литеральные закладки | DBPROP_LITERALBOOKMARKS |
Удостоверение литеральной строки | DBPROP_LITERALIDENTITY |
Режим блокировки | DBPROP_LOCKMODE |
Максимальное число открытых строк | DBPROP_MAXOPENROWS |
Максимальное число ожидающих строк | DBPROP_MAXPENDINGROWS |
Максимальное число строк | DBPROP_MAXROWS |
Гранулярность уведомлений | DBPROP_NOTIFICATIONGRANULARITY |
Этапы уведомления | DBPROP_NOTIFICATIONPHASES |
Транзакционные объекты | DBPROP_TRANSACTEDOBJECT |
Изменения видны другим пользователям | DBPROP_OTHERUPDATEDELETE |
Видимые вставки других пользователей | DBPROP_OTHERINSERT |
Свойство кодирования вывода | DBPROP_OUTPUTENCODING |
Свойство потока вывода | DBPROP_OUTPUTSTREAM |
Видны собственные изменения | 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_SERVERCURSOR |
Данные сервера при вставке | DBPROP_SERVERDATAONINSERT |
Пропустить удаленные закладки | DBPROP_BOOKMARKSKIP |
Строгая идентификация строк | DBPROP_STRONGIDENTITY |
Updatability | DBPROP_UPDATABILITY |
Использование закладок | DBPROP_BOOKMARKS |
Корень XML | SSPROP_STREAM_XMLROOT |
XSL | SSPROP_STREAM_XSL |
сведения о конкретной реализации и сведения о функциональных возMicrosoft SQL Serverии OLE DB поставщика см. в разделе поставщик SQL Server.
- что значит мука дурум
- что делать с ирисами когда они отцвели