SQL Ошибки мастера импорта при импорте файла psv - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь импортировать psv (csv с разделителями каналов) в таблицу базы данных Microsoft SQL Server 2008R2 Express.

В psv есть только два поля, каждое из которых содержит более 1000 символов .

В мастере импорта у меня есть следующие настройки:

enter image description here

enter image description here

enter image description here

Двойная проверка в сопоставлении:

enter image description here

Примечание Я установил опция Игнорировать при ошибке / усечении: enter image description here

и как обычно , я получаю ошибку:

Ошибка 0xc02020a1: Поток данных Задача 1. Преобразование данных не выполнено. Преобразование данных для столбца «Comm» вернуло значение состояния 4 и текст состояния «Текст был усечен или один или несколько символов не соответствовали целевой кодовой странице». (SQL Мастер импорта и экспорта сервера)

enter image description here

ОБНОВЛЕНИЕ:

Итак, Следуя совету @ Mar c, хотя и очень / очень неохотно, я потратил 3 часа или около того, чтобы наконец установить SQL2014 на свой компьютер, и надеюсь импортировать PSV. Как и ожидалось, снова появляется ошибка:

enter image description here

Я действительно не могу понять, почему такая компания, как Microsoft, не провела тщательный QAT для своих продуктов?!

Ответы [ 2 ]

0 голосов
/ 22 февраля 2020

В качестве альтернативы вы можете использовать массовую вставку для импорта любого плоского файла.

if (object_id('dbo.usecase1') is not null)
    drop table dbo.usecase1
go

create table dbo.usecase1
(
    Descr nvarchar(2000) null,
    Comm nvarchar(2000) null
)
go

bulk insert dbo.usecase1
from 'C:\tmp\usecase0.psv'
with (
    FIELDTERMINATOR = ',',
    ROWTERMINATOR = '\n'
)

go

BULK INSERT (Transact- SQL)

0 голосов
/ 22 февраля 2020

После мучений со стороны Microsoft в течение всего утра я наконец-то выполнил эту задачу, и для будущих читателей вы можете выполнить следующие шаги, чтобы импортировать источник данных csv / psv в ваш sql:

  1. Импорт CSV / PSV в базу данных Access. Обратите внимание, что необходимо сохранить тип mdb (да, тип 20-го века), вы можете прочитать мою историю здесь: как импортировать данные PSV в Microsoft Access

  2. В вашем SQL (у меня это 2014), запустите Мастер импорта и выберите тип источника данных (ДОСТУП) и файл. Почему вы должны использовать базу данных доступа типа mdb? Здесь вы увидите, что в SQL 2014 отсутствует опция для базы данных типа доступа accdb.

enter image description here

НЕ забудьте выбрать правильное место назначения (да, даже если вы запустили мастер, щелкнув правой кнопкой мыши по базе данных назначения и выбрав Импорт), вы хотите выбрать последний вариант: SQL Native Client 11.0. Это покажет SQL2014 и базу данных.

enter image description here

Теперь, когда импорт может быть завершен, как ожидалось.

Благодаря великолепному дизайну logi c в этом SQL (2014? Нет, по сути, никаких изменений по сравнению с 2008), какие скромные ожидания и требования !!! это займет у меня 4-5 часов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...