Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 выгрузить данные с DataTable  [new]
mr.vetal
Member

Откуда:
Сообщений: 373
выгрузил данные dbf в DataTable. Как теперь с него залить на SQL SERVER?

select into ... from openrowset не хочеться использовать

С ув. Виталий
23 дек 08, 15:37    [6608915]     Ответить | Цитировать Сообщить модератору
 Re: выгрузить данные с DataTable  [new]
Ъй
Member

Откуда:
Сообщений: 2747
SqlBulkCopy

Первым делом мы испортим самолёты.
23 дек 08, 15:39    [6608937]     Ответить | Цитировать Сообщить модератору
 Re: выгрузить данные с DataTable  [new]
Изопропил
Member

Откуда:
Сообщений: 31536
Ъй
SqlBulkCopy

+1
Причём SqlBulkCopy можно скормить DataReader, не вычитывая данные в память
23 дек 08, 16:03    [6609112]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: выгрузить данные с DataTable  [new]
sibir127
Member

Откуда:
Сообщений: 21
Изопропил,
многие указывают этот метод, но заставить работать мне его не удается.
не понимаю, конект есть, таблицу указываю, реадер не пустой, но sqlbulkcopy не видит таблицу приемника, а структуру таблицы исходника не знаю на перед.
на простом примере можете показать?
13 июн 18, 17:00    [21489057]     Ответить | Цитировать Сообщить модератору
 Re: выгрузить данные с DataTable  [new]
Изопропил
Member

Откуда:
Сообщений: 31536
sibir127
но sqlbulkcopy не видит таблицу приемника, а структуру таблицы исходника не знаю на перед.

что значит "не видит" ?

DestinationTableName указано?
имена полей в исходнике известны?

+
public void Run()
        {
            using (SqlBulkCopy bulk = new SqlBulkCopy("database=test;server=localhost;integrated security=sspi;"))
            {
                bulk.BatchSize = 1200;
                bulk.DestinationTableName = "dbo.dst";
                bulk.ColumnMappings.Add("srca", "dsta");
                bulk.ColumnMappings.Add("srcb", "dstc");
                using (IDataReader rdr = new Rdr())
                {
                    bulk.WriteToServer(rdr);
                }
            }
        }
16 июн 18, 14:15    [21496058]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить