|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
Добрый день, Пытаюсь импортировать файл, который использует возврат каретки внутри столбца и как разделитель строк (кусок в приложении). В результате, когда делаю импорт, часть строки переходит на следующую и происходит путаница столбцов. При этом Excel этот файл открывает правильно. Что я делаю не так? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 11:36 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
Вот что делает импорт: ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 11:37 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
А Excel открывает этот файл без проблем ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 11:41 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
Roust_m Что я делаю не так? Пытаешься загрузить кривой файл. Нельзя, чтобы внутри значения поля был перевод каретки - такой файл в принципе не импортируется. Решение: 1. удалить все переводы строки внутри поля вручную 2. загрузить в ексель, а из него уже в SQL ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 11:42 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
А покажи еще вкладку Advanced в настройках импорта ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 11:45 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
SQL2008 А покажи еще вкладку Advanced в настройках импорта Вот: ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 11:47 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
SQL2008 Roust_m Что я делаю не так? Пытаешься загрузить кривой файл. Нельзя, чтобы внутри значения поля был перевод каретки - такой файл в принципе не импортируется. Решение: 1. удалить все переводы строки внутри поля вручную 2. загрузить в ексель, а из него уже в SQL Удалять вручную или загружать в эксель - не вариант: файлов слишком много. А как все-таки эксель определяет правильный конец строки? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 11:52 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
Ищите в SSIS аналог опции FIELDQUOTE инструкции BULK INSERT ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 12:02 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
Roust_m А как все-таки эксель определяет правильный конец строки? Ещё вам нужно посмотреть, из чего состоит файл, каким то нормальным редактором (картинка же из ворда, да?), т.к. есть и другие варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 12:05 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
invm Ищите в SSIS аналог опции FIELDQUOTE инструкции BULK INSERT ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 12:07 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
invm Ищите в SSIS аналог опции FIELDQUOTE инструкции BULK INSERT +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 12:10 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
invm Ищите в SSIS аналог опции FIELDQUOTE инструкции BULK INSERT Проще выкинуть SSIS и воспользоваться ODBC-драйвером от Excel-я. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 12:18 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
aleks222 invm Ищите в SSIS аналог опции FIELDQUOTE инструкции BULK INSERT Проще выкинуть SSIS и воспользоваться ODBC-драйвером от Excel-я. Ну а если сервер MS SQL прогрессивный - тупо и прямо BULK INSERT. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 12:19 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
court, Roust_m SQL2008 пропущено... Пытаешься загрузить кривой файл. Нельзя, чтобы внутри значения поля был перевод каретки - такой файл в принципе не импортируется. Решение: 1. удалить все переводы строки внутри поля вручную 2. загрузить в ексель, а из него уже в SQL Удалять вручную или загружать в эксель - не вариант: файлов слишком много. А как все-таки эксель определяет правильный конец строки? Думаю, что он использует фиксированный набор полей. А покажите (нет под рукой) список типов форматов на вкладке General ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 13:21 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
alexeyvg Наверное, если перевод строки внутри строки, которая в кавычках, он считает этот перевод частью содержимого поля, а не разделителем полей. Кстати да! Тогда попробуйте задать в ограничителе текста " - двойную кавычку ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 13:24 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
SQL2008 А покажите (нет под рукой) список типов форматов на вкладке General ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 13:38 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
Переводы строк всё равно нельзя импортировать. Файл сначала надо очистить, например, сделать C# скрипт предобработки переноса содержимого в новый файл, по дороге выкинуть всё лишнее. Импорт выполнить из нового файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 21:00 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
SQL2008 alexeyvg Наверное, если перевод строки внутри строки, которая в кавычках, он считает этот перевод частью содержимого поля, а не разделителем полей. Кстати да! Тогда попробуйте задать в ограничителе текста " - двойную кавычку Спасибо! Столбцы выправились. Но при этом вылазит другая ошибка: Код: sql 1.
Я проверил, в файле максимальная длина строки для этого столбца - 300 символов. В базе этот столбец nvarchar(4000). Что бы это могло означать? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 06:38 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
Roust_m, Попробуйте сделать столбец nvarchar(max) и посмотрите, что туда на самом деле попадает. Скорее всего, где-то теряется разделитель столбцов, и вся остальная строка пытается влезть в это поле, и по всей видимости не влезает. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 12:37 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
Можно просто сделать script-компонент в качестве источника, а там разбирать строки как нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 13:28 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
Roust_m Я проверил, в файле максимальная длина строки для этого столбца - 300 символов. В базе этот столбец nvarchar(4000). в "базе" ! Не в "базе" нужно смотреть, а тут 22188641 , 2-й снизу параметр ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 07:32 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
Roust_m, попробуй в Excel ctrl+f и найти символы alt+010 . Если они присутствуют то замени их на пусто и пробуй грузить. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 09:08 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
А еще бывает символ "160" непрерывный пробел ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 15:58 |
|
Импорт .csv файла в базу
|
|||
---|---|---|---|
#18+
Попробуйте кодом делать... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53.
Далее уже дело техники ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:11 |
|
|
start [/forum/topic.php?fid=46&msg=39993344&tid=1685662]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 165ms |
0 / 0 |