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

Откуда:
Сообщений: 329
Пытаюсь выполнить импорт:
bulk insert [T_MyData] from 'c:\MyData.dat' with (datafiletype='native')

Всё работает, но возникла необходимость добавить в таблицу [T_MyData] поле [id] int identity(1,1), а после этого не работает:
Msg 4866, Level 16, State 4, Line 1
The bulk load failed. The column is too long in the data file for row 1, column 3. Verify that the field terminator and row terminator are specified correctly.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)


Как можно заполнить, кроме как сначала в одну таблицу (без identity), потом в другую (большой объём данных)?
2 июн 15, 15:16    [17720805]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
Glory
Member

Откуда:
Сообщений: 104760
=Сергей=
Как можно заполнить, кроме как сначала в одну таблицу (без identity), потом в другую (большой объём данных)?

В хелпе написано

If the data file does not contain values for the identity column in the table or view, use a format file to specify that the identity column in the table or view is to be skipped when importing data; SQL Server automatically assigns unique values for the column
2 июн 15, 15:18    [17720817]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Создайте пакет импорта, он тоже довольно эффективен. Настроек много, легко интегрируется в систему.
2 июн 15, 15:27    [17720872]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
=Сергей=
Member

Откуда:
Сообщений: 329
Есть идея создать представление без указанного столбца identity и импортировать данные в него.
Насколько это плохо с точки зрения производительности?
2 июн 15, 15:53    [17721019]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Владислав Колосов
Создайте пакет импорта, он тоже довольно эффективен. Настроек много, легко интегрируется в систему.


Значит есть всё таки люди, которые не считают SSIS бесполезным.
2 июн 15, 16:44    [17721344]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
=Сергей=
Есть идея создать представление без указанного столбца identity и импортировать данные в него.
Насколько это плохо с точки зрения производительности?


Может вы прочитаете матчасть и сделаете всё правильно

https://msdn.microsoft.com/en-us/library/ms179250.aspx
2 июн 15, 16:56    [17721443]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
a_voronin
Владислав Колосов
Создайте пакет импорта, он тоже довольно эффективен. Настроек много, легко интегрируется в систему.


Значит есть всё таки люди, которые не считают SSIS бесполезным.


Он же и предназначен для автоматизации импорта-экспорта внутреннего и внешнего :)
2 июн 15, 17:25    [17721633]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Владислав Колосов
a_voronin
пропущено...


Значит есть всё таки люди, которые не считают SSIS бесполезным.


Он же и предназначен для автоматизации импорта-экспорта внутреннего и внешнего :)


Вот только тут пошла балалайка ещё та

https://www.sql.ru/forum/1158623-a/kakoy-naibolee-optimalnyy-variant-vyborki-s-udalennogo-servera
2 июн 15, 19:24    [17722063]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
o-o
Guest
a_voronin
Владислав Колосов
Он же и предназначен для автоматизации импорта-экспорта внутреннего и внешнего :)

Вот только тут пошла балалайка ещё та
https://www.sql.ru/forum/1158623-a/kakoy-naibolee-optimalnyy-variant-vyborki-s-udalennogo-servera

т.е. в той теме речь шла о загрузке данных из файла?
и о каких же индексах и настройке безопасности вы там разорялись?
"без Кербероса будет вам всем шиш" -- это тоже о bulk insert [T_MyData] from 'c:\MyData.dat'?
2 июн 15, 21:02    [17722395]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
o-o
a_voronin
пропущено...

Вот только тут пошла балалайка ещё та
https://www.sql.ru/forum/1158623-a/kakoy-naibolee-optimalnyy-variant-vyborki-s-udalennogo-servera

т.е. в той теме речь шла о загрузке данных из файла?
и о каких же индексах и настройке безопасности вы там разорялись?
"без Кербероса будет вам всем шиш" -- это тоже о bulk insert [T_MyData] from 'c:\MyData.dat'?


Вы там обосрали SSIS как класс, а теперь оказывается, что вы его любите.

Если агент на сервере А процедуру на сервере Б , которая балк инсертит файл с шары сервера В, то да, без Кербероса или полностью открытого доступа вам будет шиш.
3 июн 15, 11:33    [17724268]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
Glory
Member

Откуда:
Сообщений: 104760
a_voronin
Вы там обосрали SSIS как класс,

Не SSIS. А ваше отношение к SQLServer. Не путайте себя с программами.
3 июн 15, 11:40    [17724330]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
o-o
Guest
a_voronin
o-o
пропущено...

т.е. в той теме речь шла о загрузке данных из файла?
и о каких же индексах и настройке безопасности вы там разорялись?
"без Кербероса будет вам всем шиш" -- это тоже о bulk insert [T_MyData] from 'c:\MyData.dat'?


Вы там обосрали SSIS как класс, а теперь оказывается, что вы его любите.

да у меня там единственный коммент о безопасности.
к вашему
o-o
a_voronin
В SSIS
1) Нет необходимости париться с безопасностью

т.е. я, не имея прав, используя SSIS, что угодно вычитаю?

и никаких изъяснятельств в любви, вы что-то путаете.
3 июн 15, 12:10    [17724563]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
a_voronin
Если агент на сервере А процедуру на сервере Б , которая балк инсертит файл с шары сервера В, то да, без Кербероса или полностью открытого доступа вам будет шиш.
Если надоело постоянно выставляться неучем - не дискутируйте на темы, в которых "плаваете".
Погуглите про "kerberos" и "делегирование kerberos" и поразмышляйте о применимости того или другого к вашим сценариям.
3 июн 15, 12:26    [17724674]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
invm
a_voronin
Если агент на сервере А процедуру на сервере Б , которая балк инсертит файл с шары сервера В, то да, без Кербероса или полностью открытого доступа вам будет шиш.
Если надоело постоянно выставляться неучем - не дискутируйте на темы, в которых "плаваете".
Погуглите про "kerberos" и "делегирование kerberos" и поразмышляйте о применимости того или другого к вашим сценариям.


Если учесть, что в нашей компании Керберос был настроен именно моими усилиями, то вряд ли в этой теме я являюсь неучем. Может быть вы чего-то не понимаете. В любой цепочке из 3 серверов возникает double hop авторизация. А должен авторизироваться на Б, а Б должен авторизироваться на С. Естественно если у вас нет никакой безопасности и все ходят всюду, то вам кажется что никакой проблемы тут нет.
3 июн 15, 13:22    [17725036]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
a_voronin
В любой цепочке из 3 серверов возникает double hop авторизация. А должен авторизироваться на Б, а Б должен авторизироваться на С
И что, даже при SQL-аутентификации? А если на C работа с файлом через xp_cmdshell?
3 июн 15, 15:05    [17725827]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
invm,

http://absurdopedia.net/wiki/Устойчивость_Сферического_коня_в_вакууме
3 июн 15, 15:41    [17726057]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert и поле identity  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
a_voronin,

Понятно. Опять вы не смогли доказать собственное утверждение
a_voronin
Если агент на сервере А процедуру на сервере Б , которая балк инсертит файл с шары сервера В, то да, без Кербероса или полностью открытого доступа вам будет шиш.
3 июн 15, 15:53    [17726156]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить