2016-08-26 7 views
-1

Мне нужна функция для передачи данных из файла .DBF на SQL Server.Передача данных из DBF в SQL Server с использованием C#

Вот что я делаю:

  • Первый шаг: Я использую OleDBDataAdapter.Fill для чтения из файла .DBF
  • Второй шаг: вставить эту таблицу в SQL Server.

Первый шаг занимает 74 секунды для 90 столбцов X 80000 строк.

Есть ли способ ускорить этот процесс?

Кроме того, если есть какой-либо способ связи напрямую с .DBF на SQL Server, пожалуйста, направляйте меня. BTW, я использую C# и SQL Server 2008.

Моя ошибка, ребята. Я редко бываю здесь. Вот мой код (взять на 1 минуту, чтобы перевести DBF в DataTable):

  OleDbCommand oledbcommand = new OleDbCommand(); 
      OleDbDataAdapter adp = new OleDbDataAdapter(); 
      oledbcommand.Connection = oledbConnectOpen(); 
      oledbcommand.CommandText = @"SELECT * FROM " + filename; 
      adp.SelectCommand = oledbcommand; 

      adp.Fill(dt); //this is the step that consume time 
      dt.TableName = filename; 
      return dt; 
+0

Как выглядит ваш существующий код? –

+0

** Что вы думаете? ** Я думаю, что вы хотите ускорить этот процесс. –

+0

Существует несколько способов ускорить это, однако нам нужно будет увидеть, что именно вы делаете в отношении текущей передачи данных. – MethodMan

ответ

0

В этом случае вы бы лучше с помощью OleDbDataReader в отличии от OleDbDataAdapter, потому что читатель оптимизирован для однонаправленных, Read- только доступ. См. this article.

+0

Я тестировал Reader и адаптер. Нет большой разницы, хотя читатель действительно сохраняет 1,31 секунды. Спасибо Алан, –