Руководство по работе с БД Firebird с использованием библиотеки ADO .Net 2.0

Лучшие краны биткоин 2016 от 1000 сатошей. | индивидуалки перми недорого. | oleo mac запчасти киев, ion g. | web hosting services |

DDL запросы. CREATE/ALTER/DROP


Данный вид запросов позволяет управлять метаданными БД. Вы можете создавать, удалять и модифицировать колонки, таблицы и целые базы данных через SQL выражения, в тексте которых содержатся DDL-инструкции. Если применять их совместно со схемами метаданных, то можно без особых усилий копировать структуры существующих баз данных и создавать новые.

Все DDL запросы, за исключением CREATE DATABASE и DROP DATABASE, могут выполняться как в режиме автоматического подтверждения, так и в контексте транзакции. По умолчанию фиксирование изменений произведенных DDL запросами отключено. Это сделано из соображений безопасности. Для того, чтобы включить подтверждение DDL запросов, необходимо установить свойство auto_commit_ddl. Его описание есть в разделе «Методы подключения к базе данных» этой статьи.

Приведу пример использования DROP DATABASE для удаления базы данных:

private void DropDatabase() { if (File.Exists(databasePath)) { OleDbConnectionStringBuilder builder = CreateConnectionStringBuilderForSample();

//отключаем использование пула для этого подключения

builder.OleDbServices = OleDbServicesValues.EnableAll & ~OleDbServicesValues.ResourcePooling;

OleDbConnection con = new OleDbConnection(builder.ToString()); con.Open();

new OleDbCommand("drop database",con).ExecuteNonQuery(); con.Close(); } }

Обратите внимание на то, что для подключения, которое будет использоваться для удаления базы данных, мы отключили использование пула ресурсов. IBProvider умеет информировать сервисы Ole Db о ставших недоступными подключениях и в данном случае это действие является избыточным. Но оно оставлено здесь для решения возможных проблем при использовании Ole Db провайдеров других производителей.

Теперь DDL для создания новой базы данных:

private OleDbConnection CreateDatabase() { //подключение к существующей бд employee.gdb

OleDbConnection con = ConnectionProvider.CreateConnection(); con.Open();

//создание новой базы данных

new OleDbCommand( "create database '" + server_name + ":" + databasePath + "'\n" + "USER '" + user_name + "' \n" + "PASSWORD '" + password + "' \n", con).ExecuteNonQuery();




Начало  Назад  Вперед