Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
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] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
А что непонятно из текста ошибки ? Какое то из значений первышает размер поля |
13 янв 14, 12:19 [15407120] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
поле test1 сделайте длинее,бо у вас
не самое длинное в файле... |
||
13 янв 14, 12:20 [15407124] Ответить | Цитировать Сообщить модератору |
WarAnt Member Откуда: Питер Сообщений: 2423 |
yaxta, Сравните что вы вставляете, с вашей таблицей myTable99, размерность данных разная. |
13 янв 14, 12:20 [15407131] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
WarAnt, да можно а какой я не понимаю ребята |
13 янв 14, 12:24 [15407166] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
Maxx, сделал поле 1 char(70) всеравно не работает |
13 янв 14, 12:37 [15407266] Ответить | Цитировать Сообщить модератору |
WarAnt Member Откуда: Питер Сообщений: 2423 |
сделайте все поля varchar(max) точно заработает) |
||
13 янв 14, 12:43 [15407327] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
А вы уверены, что ваш c:\temp\myTable.fmt соответствует формату вашего файла ? |
||
13 янв 14, 12:44 [15407330] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
да соотвествует |
||||
13 янв 14, 12:52 [15407422] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
в моем сервере (sql 2000 ) не могу сделат varchar(max) дает мне ошибка |
||||
13 янв 14, 12:54 [15407438] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
И кто же его создал, если ваш xp_cmdshell лично у меня выдает ошибку Copy direction must be either 'in' or 'out'. |
||||
13 янв 14, 12:58 [15407485] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
нет xp_cmdshell дает меня output ----- NULL все отлчно |
||||
13 янв 14, 13:17 [15407654] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Ага, просто супер. 'c:\temp\myTable.fmt' и "c:\myTable.fmt" чуть-чуть разные файлы В файле "c:\myTable.fmt" разделителем полей будет \t. Которого в вашем файле вообще не наблюдается |
||
13 янв 14, 13:31 [15407790] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
я создал c:\myTable.fmt но потом изменил место fmt file на с\temp\myTable.fmt и изменил '\t' на ' ' |
||||
13 янв 14, 13:34 [15407814] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Офигеть. А всем остальным говорите "вот скрипт я исползовал" ? И вы теперь считаете, что в строке 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] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
знаете BAKš BAō SóHIYYó IDARóSI ето я хотел импортироват как одного поля ето невозможно ? знаете ето полная имя какой то фирма |
||||
13 янв 14, 13:42 [15407890] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
yaxta, ребята никто не может импортироват етот файл? |
13 янв 14, 14:23 [15408178] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
вы оригинал адназначно ![]() |
||
13 янв 14, 14:30 [15408216] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
болшой помощ от вас вы новерно точно профессионал |
||||
13 янв 14, 14:32 [15408230] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
yaxta, кем бы я там не был...но первое что при попытке импорнта вашего файла случаеться - ето не понятно что у вас таки служит разделителем колонок,вы когда етот файл создавали..что указывали как разделитель то ? |
13 янв 14, 14:46 [15408300] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
ваш файл можно загрузить только указав руками длину колонок , гарантированый кошмар для варианта импорта |
13 янв 14, 14:52 [15408330] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
а как Maxx я сделал все я могу и хотел от вас помош можете исправаит мой ошибку и записат скрипт етого импорта ? если можно |
||
13 янв 14, 15:06 [15408426] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
yaxta, ... давайте по порядку 1. Кто вам присылает данный файл ? 2. Можете ли вы попросить тех кто генерит данный файл ,сделать его с нормальным разделителем колонок ? 3. Честно , у меня нет не времени не желания..сидеть высчитывать сколько символов в каждом поле у вас и хуже,ето совершенно не прогарантирует то,что следующий файл зайдет без проблемм... потому как если во втором поле (например)кто-то напишеше еще пару слов ,все равно все упадет. Ваше спасение реализация пункта номер 2, или сидите считайте длину колонок. |
13 янв 14, 15:11 [15408454] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
спасибо maxx ето оригиналный вариант етот текст файл там ест колонки но 11 у меня 13 а как разделит и высчитывать колонки правилно я считаю пробели тоже К сообщению приложен файл (OBOROTKA-092.list.txt - 36Kb) cкачать ![]() |
||
13 янв 14, 15:31 [15408613] Ответить | Цитировать Сообщить модератору |
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 | ![]() |