Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Сам же и отвечаю на свой вопрос. Необходимо использовать BULK INSERT:

Код: Выделить весь код
 using (SqlConnection c = new SqlConnection(Properties.Settings.Default.userGateConnectionString))
                            {
                                SqlCommand command;
                                command = new SqlCommand();
                                command.CommandTimeout = 10*60*1000;
                                c.Open();
                                command.Connection = c;

                                command.CommandText = "BULK INSERT Usergate.dbo.[TableLOG]" +
                                @" FROM '" + FullFileName + "' " +
                                "WITH " +
                                "(" +
                                "FIELDTERMINATOR = ',', " +
                                "ROWTERMINATOR = '\n', CODEPAGE = 'ACP', ROWS_PER_BATCH=300, " +
                                "FIRE_TRIGGERS" +
                                ")";
                                command.ExecuteNonQuery();
                            }
где FullFileName - полное имя файла для загрузки вида "C:\temp\file.log" В таком случае скорость загрузки около 1340 записей в секунду.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 06:33, 16-09-2009 | #2