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

Откуда: азербайджан,баку
Сообщений: 518
привет ребята хочу сделат bulk insert но получаю ошибку

--------

Сообщение 8152, уровень 16, состояние 9, строка 1
String or binary data would be truncated.
The statement has been terminated.


файл прикриплен

вот скрипт я исползовал

CREATE TABLE myTable99
(Test char(7), Test1 char(60), Test2 char(2), Test3 char(4), 
Test4 char(4), Test5 char(25), Test6 char(11),
Test7 char(7), Test8 char(10), Test9 char(8),
Test10 char(10), Test11 char(10), Test12 char(7)
)



exec xp_cmdshell 
'bcp DB_BOOKS.dbo.myTable99 format nul -S XIRDALAN-SERVER -f "c:\myTable.fmt" -c -T' 
select @@servername


BULK INSERT myTable99
   FROM 'C:\abs040123.txt'
   WITH 
      (
        FORMATFILE = 'c:\temp\myTable.fmt'
      )


К сообщению приложен файл (OBOROTKA-092.list.txt - 106Kb) cкачать
13 янв 14, 12:17    [15407097]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Glory
Member

Откуда:
Сообщений: 104760
А что непонятно из текста ошибки ?
Какое то из значений первышает размер поля
13 янв 14, 12:19    [15407120]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
поле test1 сделайте длинее,бо у вас
автор
MóCBURI KòöKñNLóRIN IôLóRI ñZRó MóNZIL KOMUNAL ISTISMAR IDAR

не самое длинное в файле...
13 янв 14, 12:20    [15407124]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
yaxta,

Сравните что вы вставляете, с вашей таблицей myTable99, размерность данных разная.
13 янв 14, 12:20    [15407131]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
WarAnt,

да можно а какой я не понимаю ребята
13 янв 14, 12:24    [15407166]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
Maxx,

сделал поле 1 char(70)


всеравно не работает
13 янв 14, 12:37    [15407266]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
yaxta
Maxx,

сделал поле 1 char(70)


всеравно не работает


сделайте все поля varchar(max) точно заработает)
13 янв 14, 12:43    [15407327]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Glory
Member

Откуда:
Сообщений: 104760
yaxta
всеравно не работает

А вы уверены, что ваш c:\temp\myTable.fmt соответствует формату вашего файла ?
13 янв 14, 12:44    [15407330]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
Glory
yaxta
всеравно не работает

А вы уверены, что ваш c:\temp\myTable.fmt соответствует формату вашего файла ?



да соотвествует
13 янв 14, 12:52    [15407422]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
WarAnt
yaxta
Maxx,

сделал поле 1 char(70)


всеравно не работает


сделайте все поля varchar(max) точно заработает)




в моем сервере (sql 2000 ) не могу сделат varchar(max)

дает мне ошибка
13 янв 14, 12:54    [15407438]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Glory
Member

Откуда:
Сообщений: 104760
yaxta
Glory
пропущено...

А вы уверены, что ваш c:\temp\myTable.fmt соответствует формату вашего файла ?



да соотвествует

И кто же его создал, если ваш xp_cmdshell лично у меня выдает ошибку
Copy direction must be either 'in' or 'out'.
13 янв 14, 12:58    [15407485]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
Glory
yaxta
пропущено...



да соотвествует

И кто же его создал, если ваш xp_cmdshell лично у меня выдает ошибку
Copy direction must be either 'in' or 'out'.



нет
xp_cmdshell дает меня

output
-----
NULL


все отлчно
13 янв 14, 13:17    [15407654]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Glory
Member

Откуда:
Сообщений: 104760
yaxta
все отлчно

Ага, просто супер.
'c:\temp\myTable.fmt' и "c:\myTable.fmt" чуть-чуть разные файлы

В файле "c:\myTable.fmt" разделителем полей будет \t. Которого в вашем файле вообще не наблюдается
13 янв 14, 13:31    [15407790]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
Glory
yaxta
все отлчно

Ага, просто супер.
'c:\temp\myTable.fmt' и "c:\myTable.fmt" чуть-чуть разные файлы

В файле "c:\myTable.fmt" разделителем полей будет \t. Которого в вашем файле вообще не наблюдается



я создал c:\myTable.fmt но потом изменил место fmt file на с\temp\myTable.fmt


и изменил '\t' на ' '
13 янв 14, 13:34    [15407814]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Glory
Member

Откуда:
Сообщений: 104760
yaxta
я создал c:\myTable.fmt но потом изменил место fmt file на с\temp\myTable.fmt


и изменил '\t' на ' '

Офигеть.
А всем остальным говорите "вот скрипт я исползовал" ?

И вы теперь считаете, что в строке
005283 BAKš BAō SóHIYYó IDARóSI                                     2 100               00010130606        1000        000        000        000        000         1000      1
между полями есть только по одному пробелу ?

Сообщение было отредактировано: 13 янв 14, 13:37
13 янв 14, 13:37    [15407840]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
Glory
yaxta
я создал c:\myTable.fmt но потом изменил место fmt file на с\temp\myTable.fmt


и изменил '\t' на ' '

Офигеть.
А всем остальным говорите "вот скрипт я исползовал" ?

И вы теперь считаете, что в строке
005283 BAKš BAō SóHIYYó IDARóSI                                     2 100               00010130606        1000        000        000        000        000         1000      1
между полями есть только по одному пробелу ?



знаете
BAKš BAō SóHIYYó IDARóSI ето я хотел импортироват как одного поля

ето невозможно ?

знаете ето полная имя какой то фирма
13 янв 14, 13:42    [15407890]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
yaxta,

ребята никто не может импортироват етот файл?
13 янв 14, 14:23    [15408178]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
yaxta
yaxta,

ребята никто не может импортироват етот файл?

вы оригинал адназначно может начнете с чтения хелпа и описаниея с примерами ЧТО у вас конкретно не работает
13 янв 14, 14:30    [15408216]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
Maxx
yaxta
yaxta,

ребята никто не может импортироват етот файл?

вы оригинал адназначно может начнете с чтения хелпа и описаниея с примерами ЧТО у вас конкретно не работает



болшой помощ от вас
вы новерно точно профессионал
13 янв 14, 14:32    [15408230]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
yaxta,

кем бы я там не был...но первое что при попытке импорнта вашего файла случаеться - ето не понятно что у вас таки служит разделителем колонок,вы когда етот файл создавали..что указывали как разделитель то ?
13 янв 14, 14:46    [15408300]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
ваш файл можно загрузить только указав руками длину колонок , гарантированый кошмар для варианта импорта
13 янв 14, 14:52    [15408330]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
Maxx
ваш файл можно загрузить только указав руками длину колонок , гарантированый кошмар для варианта импорта



а как Maxx

я сделал все я могу и хотел от вас помош

можете исправаит мой ошибку
и записат скрипт етого импорта ?
если можно
13 янв 14, 15:06    [15408426]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
yaxta,

... давайте по порядку
1. Кто вам присылает данный файл ?
2. Можете ли вы попросить тех кто генерит данный файл ,сделать его с нормальным разделителем колонок ?
3. Честно , у меня нет не времени не желания..сидеть высчитывать сколько символов в каждом поле у вас и хуже,ето совершенно не прогарантирует то,что следующий файл зайдет без проблемм... потому как если во втором поле (например)кто-то напишеше еще пару слов ,все равно все упадет. Ваше спасение реализация пункта номер 2, или сидите считайте длину колонок.
13 янв 14, 15:11    [15408454]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
Maxx
yaxta,

... давайте по порядку
1. Кто вам присылает данный файл ?
2. Можете ли вы попросить тех кто генерит данный файл ,сделать его с нормальным разделителем колонок ?
3. Честно , у меня нет не времени не желания..сидеть высчитывать сколько символов в каждом поле у вас и хуже,ето совершенно не прогарантирует то,что следующий файл зайдет без проблемм... потому как если во втором поле (например)кто-то напишеше еще пару слов ,все равно все упадет. Ваше спасение реализация пункта номер 2, или сидите считайте длину колонок.



спасибо maxx ето оригиналный вариант етот текст файл

там ест колонки но 11 у меня 13

а как разделит и высчитывать колонки правилно

я считаю пробели тоже

К сообщению приложен файл (OBOROTKA-092.list.txt - 36Kb) cкачать
13 янв 14, 15:31    [15408613]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
yaxta
Member

Откуда: азербайджан,баку
Сообщений: 518
yaxta,

я тоже высчитал и снова не получил

CREATE TABLE myTable
(Test char(7),
 Test1 char(60),
 Test2 char(2), 
Test3 char(5),
Test4 char(4),
 Test5 char(20),
 Test6 char(12),
Test7 char(11),
 Test8 char(11),
 Test9 char(11),
Test10 char(11),
 Test11 char(13), 
Test12 char(7)
)


exec xp_cmdshell 
'bcp NorthWind.dbo.myTable format nul -S XIRDALAN-SERVER -f "c:\temp\Table.fmt" -c -T' 


select @@servername


BULK INSERT NorthWind.dbo.myTable
   FROM 'C:\Documents and Settings\Администратор\Рабочий стол\OBOROTKA-092.list.txt'
   WITH 
      (
        FORMATFILE = 'c:\temp\Table.fmt'
      )[src]
[/SRC]
13 янв 14, 16:14    [15409000]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить