Создание таблиц с помощью скрипта и как запустить скрипт
У меня есть пара скриптов, которые мне нужно запустить на моей базе данных. Итак, у меня есть несколько вопросов.
Я просто использую Connection, CommandText,CommandType и CommandTimeout при открытии соединения с базой данных.
Первый вопрос - знает ли кто-нибудь, можно ли с помощью этого метода создавать постоянные таблицы, а не временные таблицы?
Во-вторых, как мне запустить этот файл? Могу ли я просто установить файл в качестве параметра, и в запросе запустить параметр?
Спасибо
3 ответа
В соединении.NET SQL вы можете делать все, что можете в скрипте SQL. Что касается "запуска файла", вам необходимо загрузить текст файла в память и выполнить загруженный текст одной командой.
Мы делаем нечто подобное в нашем приложении. Наши скрипты базы данных хранятся в скриптах SQL. Мы загружаем каждый файл последовательно с диска в память и выполняем его.
В C#-
Таким способом вы можете создавать как постоянные, так и временные таблицы.
Запустите скрипт как CommandText командного объекта.
Пример из MSDN: как установить параметры в запросе,
private static void UpdateDemographics(Int32 customerID,
string demoXml, string connectionString)
{
string commandText = "UPDATE Sales.Store SET Demographics = @demographics "
+ "WHERE CustomerID = @ID;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(commandText, connection);
command.Parameters.Add("@ID", SqlDbType.Int);
command.Parameters["@ID"].Value = customerID;
command.Parameters.AddWithValue("@demographics", demoXml);
try
{
connection.Open();
Int32 rowsAffected = command.ExecuteNonQuery();
Console.WriteLine("RowsAffected: {0}", rowsAffected);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}