Створення таблиць sql server
У постачальника OLE DB для свого клієнта SQL Server доступна функція ITableDefinition :: CreateTable. яка дозволяє споживачам створювати таблиці SQL Server. Споживачі використовують функцію CreateTable для створення іменованих споживачем постійних таблиць, а також постійних і тимчасових таблиць з унікальними іменами, створеними постачальником OLE DB для свого клієнта SQL Server.
При виклику споживачем методу ITableDefinition :: CreateTable. якщо властивість DBPROP_TBL_TEMPTABLE має значення VARIANT_TRUE, постачальник OLE DB для свого клієнта SQL Server замість споживача створює тимчасове ім'я таблиці. Споживач задає для параметра pTableID методу CreateTable значення NULL. Тимчасові таблиці з іменами, сформованими постачальником OLE DB для свого клієнта SQL Server, не містяться в наборі рядків TABLES. але до них можна отримати доступ через інтерфейс IOpenRowset.
Коли споживачі задають ім'я таблиці в змінної-члені pwszName об'єднання uName в параметрі pTableID. постачальник OLE DB для свого клієнта SQL Server створює таблицю SQL Server з таким ім'ям. Ім'я таблиці підпорядковується обмеженням для імен таблиць, прийнятим в SQL Server, і може вказувати на постійну таблицю, а також локальну або глобальну тимчасову таблицю. Додаткові відомості див. У розділі CREATE TABLE. Параметр ppTableID може мати значення NULL.
Постачальник OLE DB для свого клієнта SQL Server може формувати імена постійних і тимчасових таблиць. Коли споживач задає для параметра pTableID значення NULL, а для параметра ppTableID значення, яке вказує на діючий DBID *, постачальник OLE DB для свого клієнта SQL Server повертає сформований ім'я таблиці в змінної-члені pwszName об'єднання uName в DBID, на який вказує значення ppTableID. Для створення тимчасової таблиці, ім'я для якої сформує постачальник OLE DB для свого клієнта SQL Server, споживач включає властивість таблиці OLE DB DBPROP_TBL_TEMPTABLE в набір властивостей таблиці, на який вказує параметр rgPropertySets. Тимчасові таблиці, імена яких сформовані постачальником OLE DB для свого клієнта SQL Server, є локальними.
Функція CreateTable повертає значення DB_E_BADTABLEID, якщо член eKind параметра pTableID не вказує на DBKIND_NAME.
Споживач може задати тип даних стовпця або за допомогою змінної-члена pwszTypeName. або за допомогою змінної-члена wType. Якщо споживач задав тип даних за допомогою змінної-члена pwszTypeName. постачальник OLE DB для свого клієнта SQL Server не враховує значення wType.
Якщо використовується змінна-член pwszTypeName. споживач задає тип даних, використовуючи імена типів даних SQL Server. Допустимими є імена типів даних, які повертаються в стовпці TYPE_NAME набору рядків схеми PROVIDER_TYPES.
Постачальник OLE DB для свого клієнта SQL Server розпізнає підмножина значень DBTYPE з перерахування OLE DB, що задається змінною-членом wType. Додаткові відомості див. У розділі Зіставлення типів даних в інтерфейсі ITableDefinition.
Функція CreateTable повертає значення DB_E_BADTYPE, якщо споживач вказав тип даних стовпця за допомогою членів pTypeInfo або pclsid.
Користувач задає ім'я стовпця в елементі pwszName об'єднання uName в змінної-члені dbcid структури DBCOLUMNDESC. Ім'я стовпця задається в вигляді символьного рядка в Юникоде. Елемент eKind структури dbcid має дорівнювати DBKIND_NAME. Функція CreateTable повертає значення DB_E_BADCOLUMNID, якщо елемент eKind неприпустимий або якщо значення pwszName одно NULL або не є допустимим ідентифікатором SQL Server.
Всі властивості стовпців доступні для всіх стовпців, визначених у цій таблиці. Функція CreateTable повертає значення DB_S_ERRORSOCCURRED або DB_E_ERRORSOCCURRED, якщо встановлені значення властивостей суперечать один одному. Функція CreateTable повертає помилку, якщо неприпустимі значення властивостей стовпців викликають помилку при створенні таблиці в SQL Server.
Властивості стовпців в структурі DBCOLUMNDESC інтерпретуються наступним чином.
Читання-запис: читання і запис
За замовчуванням: Опис VARIANT_FALSE: Задає властивість ідентифікатора для створюваного шпальти. У SQL Server властивість ідентифікатора може мати тільки один стовпець таблиці. Якщо встановити значення VARIANT_TRUE цієї властивості для декількох стовпців, виникне помилка при спробі постачальника OLE DB для свого клієнта SQL Server створити таблицю на сервері.
Властивість ідентифікатора SQL Server дійсно тільки для типів integer. numeric і decimal. коли масштаб дорівнює 0. Установка властивості стовпця в VARIANT_TRUE або в будь-який інший тип даних викличе помилку, коли постачальник OLE DB свого клієнта SQL Server спробує створити таблицю на сервері.
Постачальник OLE DB для свого клієнта SQL Server повертає значення DB_S_ERRORSOCCURRED, якщо обидва властивості DBPROP_COL_AUTOINCREMENT і DBPROP_COL_NULLABLE мають значення VARIANT_TRUE, а елемент dwOption властивості DBPROP_COL_NULLABLE НЕ дорівнює DBPROPOPTIONS_REQUIRED. Якщо обидва властивості DBPROP_COL_AUTOINCREMENT і DBPROP_COL_NULLABLE мають значення VARIANT_TRUE і елемент dwOption властивості DBPROP_COL_NULLABLE дорівнює DBPROPOPTIONS_REQUIRED, буде повернуто значення DB_E_ERRORSOCCURRED. Стовпець визначається за допомогою властивості ідентифікатора SQL Server, а елементу DBPROP_COL_NULLABLE dwStatus встановлюється значення DBPROPSTATUS_CONFLICTING.
Читання-запис: читання і запис
За замовчуванням: відсутнє
Опис: Створює для стовпця обмеження SQL Server DEFAULT.
Елемент vValue структури DBPROP може ставитися до будь-якого типу з певного набору типів. Елемент vValue.vt повинен задавати тип, сумісний з типом даних стовпця. Наприклад, якщо стовпець має тип DBTYPE_WSTR і для цього стовпця задано значення за замовчуванням BSTR N / A, ці два типи сумісні. Якщо встановити таке ж значення за замовчуванням для стовпця з типом DBTYPE_R8, виникне помилка при спробі постачальника OLE DB для свого клієнта SQL Server створити таблицю на сервері.
Читання-запис: читання і запис
За замовчуванням: Відсутній
Опис: Постачальник OLE DB для свого клієнта SQL Server не реалізує властивість стовпчика DBPROP_COL_DESCRIPTION.
Елемент dwStatus структури DBPROP повертає значення DBPROPSTATUS_NOTSUPPORTED при спробі споживача записати значення властивості.
Зміна цієї властивості не є непереборною помилкою для постачальника OLE DB для свого клієнта SQL Server. Якщо всі інші значення параметрів допустимі, таблиця SQL Server буде створена.
Читання-запис: читання і запис
За замовчуванням: VARIANT_FALSE
Опис: Постачальник OLE DB для свого клієнта SQL Server використовує значення DBPROP_COL_FIXEDLENGTH для визначення зіставлення типів даних, використовуючи елемент wType структури DBCOLUMNDESC. Додаткові відомості див. У розділі Зіставлення типів даних в інтерфейсі ITableDefinition.
Читання-запис: читання і запис
За замовчуванням: Відсутній
Опис: При створенні таблиці постачальник OLE DB для свого клієнта SQL Server вказує, вирішуються чи для даного стовпця значення NULL, якщо задано це властивість. Коли властивість не задано, здатність стовпчика приймати значення NULL визначається встановленим за замовчуванням параметром бази даних SQL Server ANSI_NULLS.
Постачальник OLE DB для свого клієнта SQL Server відповідає вимогам стандарту ISO. Підключення сеанси поводяться відповідно до стандарту ISO. Якщо споживач не поставив властивість DBPROP_COL_NULLABLE, стовпець приймає значення NULL.
Читання-запис: читання і запис
За замовчуванням: Опис VARIANT_FALSE: Якщо для цього стовпця встановлено значення VARIANT_TRUE, постачальник OLE DB для свого клієнта SQL Server створює стовпець з обмеженням PRIMARY KEY.
При завданні в якості властивості стовпця тільки один стовпець може визначати це обмеження. Якщо встановити значення цієї властивості в VARIANT_TRUE для декількох стовпців, виникне помилка при спробі постачальника OLE DB для свого клієнта SQL Server створити таблицю SQL Server.
Примітка. Споживач може використовувати метод IIndexDefinition :: CreateIndex для створення обмеження PRIMARY KEY для декількох стовпців.
Постачальник OLE DB для свого клієнта SQL Server повертає значення DB_S_ERRORSOCCURRED, якщо обидва властивості DBPROP_COL_PRIMARYKEY і DBPROP_COL_UNIQUE мають значення VARIANT_TRUE, а елемент dwOption властивості DBPROP_COL_UNIQUE НЕ дорівнює DBPROPOPTIONS_REQUIRED.
Якщо обидва властивості DBPROP_COL_PRIMARYKEY і DBPROP_COL_UNIQUE мають значення VARIANT_TRUE і елемент dwOption властивості DBPROP_COL_UNIQUE дорівнює DBPROPOPTIONS_REQUIRED, буде повернуто значення DB_E_ERRORSOCCURRED. Стовпець визначається за допомогою властивості ідентифікатора SQL Server, а елементу DBPROP_COL_PRIMARYKEY dwStatus встановлюється значення DBPROPSTATUS_CONFLICTING.
Постачальник OLE DB для свого клієнта SQL Server повертає помилку, коли обидва властивості DBPROP_COL_PRIMARYKEY і DBPROP_COL_NULLABLE рівні VARIANT_TRUE.
Постачальник OLE DB для свого клієнта SQL Server повертає помилку з SQL Server, якщо споживач намагається створити обмеження PRIMARY KEY для стовпця неприпустимого типу даних SQL Server. Обмеження PRIMARY KEY не можна визначати для стовпців, що належать до типів даних SQL Server bit. text. ntext і image.
Читання-запис: читання і запис
За замовчуванням: Опис VARIANT_FALSE: Застосовує до колонку обмеження SQL Server UNIQUE.
При завданні в якості властивості стовпця тільки до одного стовпцю може бути застосоване це обмеження. Споживач може використовувати метод IIndexDefinition :: CreateIndex для створення обмеження UNIQUE на поєднанні значень декількох стовпців.
Постачальник OLE DB для свого клієнта SQL Server повертає значення DB_S_ERRORSOCCURRED, якщо обидва властивості DBPROP_COL_PRIMARYKEY і DBPROP_COL_UNIQUE мають значення VARIANT_TRUE, а елемент dwOption НЕ дорівнює DBPROPOPTIONS_REQUIRED.
Якщо обидва властивості DBPROP_COL_PRIMARYKEY і DBPROP_COL_UNIQUE мають значення VARIANT_TRUE і елемент dwOption дорівнює DBPROPOPTIONS_REQUIRED, буде повернуто значення DB_E_ERRORSOCCURRED. Стовпець визначається за допомогою властивості ідентифікатора SQL Server, а елементу DBPROP_COL_PRIMARYKEY dwStatus встановлюється значення DBPROPSTATUS_CONFLICTING.
Постачальник OLE DB для свого клієнта SQL Server повертає значення DB_S_ERRORSOCCURRED, якщо обидва властивості DBPROP_COL_NULLABLE і DBPROP_COL_UNIQUE мають значення VARIANT_TRUE, а елемент dwOption НЕ дорівнює DBPROPOPTIONS_REQUIRED.
Якщо обидва властивості DBPROP_COL_NULLABLE і DBPROP_COL_UNIQUE мають значення VARIANT_TRUE і елемент dwOption дорівнює DBPROPOPTIONS_REQUIRED, буде повернуто значення DB_E_ERRORSOCCURRED. Стовпець визначається за допомогою властивості ідентифікатора SQL Server, а елементу DBPROP_COL_NULLABLE dwStatus встановлюється значення DBPROPSTATUS_CONFLICTING.
Постачальник OLE DB для свого клієнта SQL Server повертає помилку з SQL Server, якщо споживач намагається створити обмеження UNIQUE для стовпця неприпустимого типу даних SQL Server. Обмеження UNIQUE не можна визначати для стовпців, що належать до типу даних SQL Server bit.
Коли споживач викликає метод ITableDefinition :: CreateTable. постачальник OLE DB для свого клієнта SQL Server інтерпретує властивості таблиці наступним чином.
Читання-запис: читання і запис
За замовчуванням: VARIANT_FALSE Опис: За замовчуванням постачальник OLE DB для свого клієнта SQL Server створює таблиці, імена яких присвоює споживач. Якщо для цього стовпця встановлено значення VARIANT_TRUE, постачальник OLE DB для свого клієнта SQL Server створює для споживача тимчасову таблицю. Споживач задає для параметра pTableID методу CreateTable значення NULL. Параметр ppTableID повинен містити діючий покажчик.
Якщо споживач запрошувати відкриття набору рядків для успішно створеної таблиці, постачальник OLE DB для свого клієнта SQL Server відкриває набір рядків з підтримкою курсору. Всі властивості набору рядків можуть бути задані в переданих наборах властивостей.
В даному прикладі створюється таблиця SQL Server.
Основні поняття
додавання спільноти
Показ: успадкувала Захищений
Чи була ця сторінка корисною? Та ні
1500 символів Якого залишилося
Дякуємо! Дякуємо за відгук. Ваша думка дуже важлива для нас.