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

Откуда: KYIV
Сообщений: 4613
Glory
Vad72
Я так и делал ранее (сообщение 17731591),

В 17731591 вы не составляли файл форматирования сами
bcp ххх.dbo.m1 format nul -U sa -P 111 -S 10.1.0.9 -с -f m1.fmt
4 июн 15, 20:20    [17732590]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Glory
Member

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

В 17731591 вы не составляли файл форматирования сами
bcp ххх.dbo.m1 format nul -U sa -P 111 -S 10.1.0.9 -с -f m1.fmt

Вы наверное альтернативного умственного склада.
Вы понимаете значение слова "вручную" ?
Это когда каждый символ файла вы получаете через нажатие соответствующей клавиши на клавиатуре
4 июн 15, 20:22    [17732599]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
Импорт изначально работает без проблем, просто один столбец в текстовом файле ( значения там только целое больше 3 и меньше 16 или пусто) импортировался в таблицу в поле varchar(2). Я решил изменить тип столбца в таблице на tinyint, после чего посыпались ошибки при импорте строк , где в тексте цифр нет, а пусто. В формате прописывал(см выше, просто показал один столбце, это про 60, если что). Я пока не могу найти логического объяснения, почему так случается. Ну поменял я в таблице тип с варчар на инт и во, должно работать, а нет. Пишу еще дополнительно файл форматирования в а Иня, где указываю, ч то там таки в файле тиниинт, не помогает. Интересно.
4 июн 15, 20:30    [17732614]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104760
Vad72
Интересно.

Имхо, вам лучше не тратить свое и чужое время на эту задачу.
4 июн 15, 20:32    [17732621]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
Glory
Vad72
пропущено...
bcp ххх.dbo.m1 format nul -U sa -P 111 -S 10.1.0.9 -с -f m1.fmt

Вы наверное альтернативного умственного склада.
Вы понимаете значение слова "вручную" ?
Это когда каждый символ файла вы получаете через нажатие соответствующей клавиши на клавиатуре

:) а Вы понимаете, что на выходе у меня будет точно такой же символ в символ текстовый файл описания форматов? Или где-то в свойствах файла в виндовс прописывается, что файл набран руками и его только тогда можно использовать.
4 июн 15, 20:32    [17732622]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104760
Vad72
а Вы понимаете, что на выходе у меня будет точно такой же символ в символ текстовый файл описания форматов?

Мда. Ничего что тип данных этого "символа" будет уже другой

Vad72
Или где-то в свойствах файла в виндовс прописывается, что файл набран руками и его только тогда можно использовать.

Вы тупой, однозначно.
4 июн 15, 20:40    [17732636]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
Glory
Vad72
Интересно.

Имхо, вам лучше не тратить свое и чужое время на эту задачу.

Ну вы и загнули - задача.
4 июн 15, 20:43    [17732645]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
Glory
Vad72
а Вы понимаете, что на выходе у меня будет точно такой же символ в символ текстовый файл описания форматов?

Мда. Ничего что тип данных этого "символа" будет уже другой

Vad72
Или где-то в свойствах файла в виндовс прописывается, что файл набран руками и его только тогда можно использовать.

Вы тупой, однозначно.

Да не будет он
4 июн 15, 20:47    [17732663]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
Glory,
Вот скажите, почему виртуоса я понял сразу и ни каких дополнительных вопросов у меня нет, а от вашего поста , где вы пишете, что файл нужно именно руками набирать .... ладно
4 июн 15, 20:50    [17732675]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104760
Vad72
Вот скажите, почему виртуоса я понял сразу и ни каких дополнительных вопросов у меня нет, а от вашего поста , где вы пишете, что файл нужно именно руками набирать .... ладно

Потому что виртуоса сделал за вас то, что должны были сделать вы.
А именно вручную составил правильный формат файл.
А вы продолжаете нести ахинею, про "я только заменил символ" и "свойство файла"
4 июн 15, 21:02    [17732737]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
Glory
А именно вручную составил правильный формат файл.

кто-то из нас на бронепоезде.
Виртуос сделал вручную вот так: bcp [TSQL2012].[dbo].[Test] format nul -c -f c:\m1.fmt -T -S KMW2-IT-WS-350\SQLEXPRESS2014
Так же как и я!
5 июн 15, 08:46    [17733628]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104760
Vad72
Так же как и я!

С одним мальеньким исключением - у вас не работает
5 июн 15, 09:27    [17733770]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
virtuOS
Member

Откуда: большая деревня
Сообщений: 265
Vad72
Glory
А именно вручную составил правильный формат файл.

Виртуос сделал вручную вот так: bcp [TSQL2012].[dbo].[Test] format nul -c -f c:\m1.fmt -T -S KMW2-IT-WS-350\SQLEXPRESS2014
Так же как и я!

Сделал так, потому что импортируемый текстовый файл в точности соответствует по формату полям в таблице.. Я же не буду генерировать таблицу и файл на 60 полей неизвестното содержимого. И прежде чем импортировать и писать сообщение, сверился с BOL.
И в ваших сообщениях нигде не видел строки, которые должны попадать в ваш K1.log. Вот тут 17731170 приведен вывод из консоли. Вы хоть смотрели, что в файле ошибок, или сами догадались, что ошибка в
где в тексте цифр нет, а пусто
5 июн 15, 09:41    [17733847]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Maxx
Member [скрыт]

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

к сожаление здесь гадание на кофейной гуще :( Влад72 усиленно делает только то,что ему нравиться..увы
5 июн 15, 09:48    [17733882]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
Какие параметры использовать в bcp утилите, чтобы при импорте из текстового файла с разделителями полей ТАБ, в случае, когда в файле ТАБТАБ (значение в столбце отсутствует), в поле типа int таблицы БД вставилось null?

bcp v.dbo.m1 format nul -c -f m1.fmt -T -S 10.1.0.9 

C:\IMPORT>bcp v.dbo.m1 in KirOE.dat -T -S 10.1.0.9 -e KIrOE.log -C 1251 -L 100000 -f m1.fmt

Начато копирование...
Отправлено строк на SQL Server: 1000. Всего отправлено: 1000
Отправлено строк на SQL Server: 1000. Всего отправлено: 2000
Отправлено строк на SQL Server: 1000. Всего отправлено: 3000
Отправлено строк на SQL Server: 1000. Всего отправлено: 4000
Отправлено строк на SQL Server: 1000. Всего отправлено: 5000
Отправлено строк на SQL Server: 1000. Всего отправлено: 6000
Отправлено строк на SQL Server: 1000. Всего отправлено: 7000
Отправлено строк на SQL Server: 1000. Всего отправлено: 8000
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Недопустимое символьное значение для указания отклонения
Отправлено строк на SQL Server: 1000. Всего отправлено: 9000
Отправлено строк на SQL Server: 1000. Всего отправлено: 10000
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Недопустимое символьное значение для указания отклонения
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Недопустимое символьное значение для указания отклонения
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Недопустимое символьное значение для указания отклонения
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Недопустимое символьное значение для указания отклонения
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Недопустимое символьное значение для указания отклонения
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Недопустимое символьное значение для указания отклонения
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Недопустимое символьное значение для указания отклонения
Отправлено строк на SQL Server: 1000. Всего отправлено: 11000
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Недопустимое символьное значение для указания отклонения
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Недопустимое символьное значение для указания отклонения

Скопировано строк: 11169.
Размер сетевого пакета (в байтах): 4096
Время (мс) Всего     : 6344   В среднем : (1760.56 строк в секунду.)


в логах такое
#@ Строка 8756, Столбец 22: Недопустимое символьное значение для указания отклонения @#
- в этой строке ТАБТАБ, значение в поле отсутствует
5 июн 15, 10:16    [17734059]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Maxx
Member [скрыт]

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

1. Что в m1.fmt для столбца 22 (всю строку)
2. ДДЛ поля 22 из таблицы m1 (полное )
5 июн 15, 10:28    [17734132]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
virtuOS
Member

Откуда: большая деревня
Сообщений: 265
Vad72
Какие параметры использовать в bcp утилите, чтобы при импорте из текстового файла с разделителями полей ТАБ, в случае, когда в файле ТАБТАБ (значение в столбце отсутствует), в поле типа int таблицы БД вставилось null?

Параметрам bcp пофигу, отсутствует или нет значение в столбце. были бы правильные field_term и row_term.
Так что говорите, что в файле форматирования и какую строку пытаетесь вставить.
5 июн 15, 10:37    [17734201]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
Maxx
ну и сразу давайте

1. Что в m1.fmt для столбца 22 (всю строку)
2. ДДЛ поля 22 из таблицы m1 (полное )


22      SQLCHAR             0       5       "\t"     22    CntrGCPeriod                   ""

читал https://msdn.microsoft.com/ru-ru/library/ms190779.aspx#PrefixLengthsExport , пробовал , стало еще хуже :)

лог
Картинка с другого сайта.

Если открыть этот громадный файл, то вот это место
Картинка с другого сайта.
5 июн 15, 10:45    [17734272]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
картинок не видно:(
Неужели так тяжело показать все что просят в читаемом виде то ?
скопирует проблемную строку в другой файл..откройте любым хекс реадактором (тем же фаром ) и посмотрите что реально стоит в том месте
5 июн 15, 10:48    [17734309]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
Maxx,
в том месте идут подряд пустые поля, одно из полей я хочу впихнуть в таблицу типа tinyint

0000000000: 09 20 09 20 09 20 09 20 │ 09 20 09 20 09 20 09 20  ○ ○ ○ ○ ○ ○ ○ ○
0000000010: 09 20 09 20 09 20 09 20 │ 09 20 09 20 09 20 09 20  ○ ○ ○ ○ ○ ○ ○ ○
0000000020: 09 20 09                │                          ○ ○


это где-то внутри из этих кодов
5 июн 15, 11:08    [17734480]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
09 00 09 00 09 00 09 00 09 00 09 00 09 00 09 00
09 00 09 00 09 00 09 00 09 00 09 00 09 00 09 00

вот так в Hex Editor Neo
5 июн 15, 11:18    [17734552]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
еще так пробовал
BULK INSERT m1
FROM 'C:\import\K10000.dat' 
WITH (CODEPAGE = '1251');
GO


результат
Сообщение 4864, уровень 16, состояние 1, строка 1
Ошибка преобразования массовой загрузки данных (несоответствие типов или недопустимый символ для указанной кодовой страницы) в строке 8756, столбце 22 (CntrGCPeriod).
5 июн 15, 11:20    [17734570]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Maxx
Member [скрыт]

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

фигня каке-то..
09 - ето таб
20 - ето капс лок , если память не отшибло :)
Покажите полную деклярацию колонки в таблице
5 июн 15, 11:32    [17734697]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Кролик-зануда
Guest
Maxx,
20hex=32dec=пробел
5 июн 15, 11:47    [17734818]     Ответить | Цитировать Сообщить модератору
 Re: вставка большого количества строк в таблицу  [new]
Vad72
Member [заблокирован]

Откуда: KYIV
Сообщений: 4613
0000000000: CF C0 D2 20 22 CA B3 F0 │ EE E2 EE E3 F0 E0 E4 EE
0000000010: E1 EB E5 ED E5 F0 E3 EE │ 22 09 CE EB E5 EA F1 E0
0000000020: ED E4 F0 B3 E9 F1 FC EA │ E8 E9 20 D0 C5 CC 09 32
0000000030: 30 31 34 30 31 09 31 38 │ 30 34 30 37 2F 35 31 09
0000000040: 09 CE EB E5 EA F1 E0 ED │ E4 F0 B3 FF 09 C7 E0 EB
0000000050: B3 E7 ED E8 F7 ED E0 09 │ 37 37 09 09 09 09 09 CB
0000000060: 37 09 CA D2 CF 2D 31 30 │ 39 37 09 D4 32 09 CE CF
0000000070: CE D0 C0 09 09 D2 E0 F0 │ E8 F4 20 E4 EB FF 20 CC
0000000080: B2 D1 DC CA C8 D5 20 E6 │ E8 F2 E5 EB B3 E2 09 09
0000000090: 09 09 09 09 09 09 09 09 │ 09 09 09 09 09 09 09 09
00000000A0: ED E0 20 E2 E8 F5 B3 E4 │ ED E8 F5 20 EA EB E5 EC
00000000B0: E0 F5 20 E7 E0 F1 EE E1 │ B3 E2 20 EE E1 EB B3 EA
00000000C0: F3 09 33 2E 30 30 09 09 │ 09 09 09 09 09 09 09 09
00000000D0: EE F2 EA EB FE F7 E5 ED │ 09 30 31 2E 30 38 2E 32
00000000E0: 30 30 38 09 2E 39 36 09 │ 30 09 2E 30 30 09 2E 30
00000000F0: 30 09 2E 30 30 09 2E 30 │ 30 09 2E 39 36 09 2E 30
0000000100: 30 09 30 09 2E 30 30 09 │ 2E 30 30 09 2E 30 30 0D
0000000110: 0A                      │
5 июн 15, 11:49    [17734832]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить