БОЛЬШАЯ ВСТАВКА Завершается с 0 строк, на которые влияют. SSMS v18.2 - PullRequest
0 голосов
/ 28 октября 2019

Попытка вставить некоторые данные из .CSV (файл значений Microsoft Excel с разделителями-запятыми) с помощью следующего кода:

CREATE TABLE #Monthly --only Source and TotalView needed
    (
        [Row] INT --dropping after insert
        , [Type] NVARCHAR(8) --dropping after insert
        , [Status] INT --dropping after insert
        , [Source] NVARCHAR(255)
        , [TotalView] DECIMAL(10,3)
    )
;

BULK INSERT #Monthly
FROM '\\SERVER\Data\October_2019.csv'
WITH
    (
        FIELDTERMINATOR = ','
        , ROWTERMINATOR = '\r\n'
        , FIRSTROW = 2
    )
;

Но запрос не вставляет никаких строк и не возвращает никакихошибки (это было раньше, когда я использовал терминатор строки \ n). Образец первых 5 рядов CSV. Взглянул в Notepad ++, и они CR LF.

" Row"," Type"," Status"," Source"," TotalView"
" 1"," [M]"," 0"," Website1"," 8885.305"
" 2"," [E]"," 1"," Website2"," 1499.709"
" 3"," [C]"," 0"," Website3"," 685.805"
" 4"," [E]"," 1"," Website4"," 593.347"

Не уверен, что я делаю неправильно.

РЕДАКТИРОВАТЬ: Кроме того, наборы данных имеют около 500 строк, как это, но затем есть еще несколько случайных текст в нижней части (которыйЯ бы не хотел вставлять). Это просто 1 пустая строка между нижней частью данных, которые я хочу, и этот случайный текст. Не уверен, как это отфильтровать или это может быть причиной проблемы. Я мог бы сделать lastrow = n, но это не было бы динамичным движением вперед.

1 Ответ

0 голосов
/ 29 октября 2019

Переключено на ROWTERMINATOR = '0x0a' и по какой-то причине это работало, но со всеми в двойных кавычках. Вычеркну их.

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