Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 загрузка данных  [new]
dimakz
Member

Откуда:
Сообщений: 1574
есть текст, в тхт или в экселе...такой вид имеет
Номер:
12
Отвественное лицо:
коля
Дата возникновения:
01-06-2013
Дата обнаружения:
16-06-2013
Дата решения:
27-06-2013
Дата закрытия:
27-06-2013
Описание по шаблону:
условия
Название:
ho

как его загрузить в таблицу?
2 авг 13, 10:28    [14652067]     Ответить | Цитировать Сообщить модератору
 Re: загрузка данных  [new]
ROLpogo
Member

Откуда: Реутов
Сообщений: 219
dimakz, выгружаешь во временную таблицу, как-то так:таблицу.

BULK INSERT MyTempTable
FROM 'C:\MyFile.txt'
WITH(CODEPAGE = 'ACP',FIRSTROW = 2, ROWTERMINATOR='\n')
2 авг 13, 10:41    [14652124]     Ответить | Цитировать Сообщить модератору
 Re: загрузка данных  [new]
ROLpogo
Member

Откуда: Реутов
Сообщений: 219
ранжируешь строки и распихиваешь данные по нужным полям в исходную
2 авг 13, 10:41    [14652125]     Ответить | Цитировать Сообщить модератору
 Re: загрузка данных  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35080
Блог
dimakz,

Использовать скрипт-компонент как источник данных в SSIS.
В компоненте последовательно читать ваши N строк из файла и выдавать их одной строкой.
2 авг 13, 10:54    [14652189]     Ответить | Цитировать Сообщить модератору
 Re: загрузка данных  [new]
dimakz
Member

Откуда:
Сообщений: 1574
а как ранжировать строки и распихивать потом ? аа
2 авг 13, 11:21    [14652385]     Ответить | Цитировать Сообщить модератору
 Re: загрузка данных  [new]
ROLpogo
Member

Откуда: Реутов
Сообщений: 219
dimakz,

create table #MyTempTable
(
  StringData varchar(255)
)

BULK INSERT #MyTempTable
FROM 'C:\MyFile.txt'
WITH(CODEPAGE = 'ACP',FIRSTROW = 2, ROWTERMINATOR='\n')

create table #MyWorkTable
(
  Num        int,
  VIPName    varchar(64),
  DateStart  datetime,
  DateDetect datetime,
  DateResult datetime,
  DateClose  datetime,
  Descr      varchar(255),
  Name       varchar(255)
)

insert into #MyWorkTable (Num, VIPName, DateStart, DateDetect, DateResult, DateClose, Descr, Name)
  select
    (select cast(StringData as int)      from (select row_number() over (order by (select 1)) as rn, StringData from #MyTempTable) t where rn = 1),
    (select      StringData              from (select row_number() over (order by (select 1)) as rn, StringData from #MyTempTable) t where rn = 3),
    (select cast(StringData as datetime) from (select row_number() over (order by (select 1)) as rn, StringData from #MyTempTable) t where rn = 5),
    (select cast(StringData as datetime) from (select row_number() over (order by (select 1)) as rn, StringData from #MyTempTable) t where rn = 7),
    (select cast(StringData as datetime) from (select row_number() over (order by (select 1)) as rn, StringData from #MyTempTable) t where rn = 9),
    (select cast(StringData as datetime) from (select row_number() over (order by (select 1)) as rn, StringData from #MyTempTable) t where rn = 11),
    (select      StringData              from (select row_number() over (order by (select 1)) as rn, StringData from #MyTempTable) t where rn = 13),
    (select      StringData              from (select row_number() over (order by (select 1)) as rn, StringData from #MyTempTable) t where rn = 15)

  drop table #MyTempTable
  select * from #MyWorkTable
  drop table #MyWorkTable
2 авг 13, 12:07    [14652772]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить