Итак, я разрабатываю веб-приложение, где каждый пользователь имеет свою собственную базу данных. Я хочу, чтобы автоматизировать процесс создания пользовательской базы данных, когда он регистрируется.заполнить базу данных из SQL Server сгенерированный скрипт
Моя идея - создать новую пустую базу данных с пользовательским именем, а затем запустить подготовленный sql-скрипт для генерации таблиц и значений по умолчанию для этой базы данных.
Редактировать Я думаю, что я раньше не был ясен.
Я создаю базу данных следующим образом:
using (var conn = new SqlConnection("data source=MySource; uid=MyUser; pwd=MyPassword;"))
{
using (var cmd = new SqlCommand())
{
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "Create Database MYNewDB;";
cmd.ExecuteNonQuery();
}
}
Есть ли способ (после этого) выполнять сценарии, сохраненные в файл .sql для создания таблицы и значения для этой новой базы данных?
Сколько людей вы ожидаете? Вы думали о сценариях обновления? Для меня это звучит очень болезненная архитектура. Было бы гораздо проще добавить столбец для UserID в каждую таблицу и убедиться, что каждый запрос имеет эту дополнительную проверку. –
Сторона примечания: «Поиск alot» не является полезной информацией в сообщении. Пожалуйста, либо покажите, какие подходы вы нашли, которые не работали (например, ссылка + описание одного предложения была бы идеальной), либо вообще не добавляйте такой текст. То есть «попытался [Создать БД программно] (http://stackoverflow.com/questions/9015142/creating-a-database-programmatically-in-sql-server), но XXXX не позволяет мне это делать») –
@SeanLange это для веб-версию программного обеспечения, разработанного моей компанией. Если только 20% наших клиентов придерживаются, мы говорим о 350 - 450 клиентах, у которых может быть более одного пользователя, а в таблицах они будут включать своих клиентов. Я думаю, что лучше всего хранить базу данных для каждого клиента. – FabioG