Создание таблиц с помощью скрипта и как запустить скрипт - PullRequest
0 голосов
/ 23 августа 2010

У меня есть пара скриптов, которые мне нужно запустить на моей базе данных.Поэтому у меня есть несколько вопросов.

Я просто использую Connection, CommandText, CommandType и CommandTimeout при открытии соединения с базой данных.

Первый вопрос - кто-нибудь знает, если с помощью этого метода я могусоздавать постоянные таблицы, а не временные таблицы?

Во-вторых - Как мне запустить этот файл?Могу ли я просто установить файл в качестве параметра, и в запросе запустить параметр?

Спасибо

Ответы [ 3 ]

0 голосов
/ 23 августа 2010

В соединении .NET SQL можно делать все, что можно в сценарии SQL. Что касается «запуска файла», вам потребуется загрузить текст файла в память и выполнить загруженный текст одной командой.

Мы делаем нечто подобное в нашем приложении. Наши скрипты базы данных хранятся в скриптах SQL. Мы загружаем каждый файл последовательно с диска в память и выполняем его.

0 голосов
/ 23 августа 2010

Пример из 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);
        }
    }
}
0 голосов
/ 23 августа 2010

В C # -

  1. Таким способом можно создавать как постоянные, так и временные таблицы.

  2. Запустить скрипт как CommandText командного объекта.

...