Загрузить данные в таблицу из файла - PullRequest
0 голосов
/ 03 апреля 2019

Это моя таблица пользователей.

CREATE TABLE Users(
    Id INT PRIMARY KEY IDENTITY(0,1),
    Name VARCHAR(20) NOT NULL,
    Surname VARCHAR(25) NOT NULL,
    Birthdate DATE NOT NULL DEFAULT(GETDATE()),
    Username VARCHAR(30) UNIQUE NOT NULL,
    Email VARCHAR(30), 
    Login VARCHAR(30),
    CHECK(Email IS NOT NULL OR Login IS NOT NULL)
)

Это информация о файле, которую он должен загрузить в таблицу.$ N'Alex ', N'Mituchin', N'qwe@gmail.com ', NULL N'Olga', N'Mituchina ', N'qwea@gmail.com', NULL. $

Но здесь существует одна проблема.Когда я пытаюсь выполнить массовую вставку в свою таблицу «Пользователи», она выдает ошибку об отсутствии и массовой вставке.Я думаю, что эта ошибка о столбце.У меня есть дата рождения, я не могу написать дату рождения, потому что она имеет значение по умолчанию.В общем, количество столбцов в таблице Users больше, чем в данных файла.Как я могу решить проблему?ПРИМЕЧАНИЕ. -> Это не настоящий проект.Это HomeWork.Я здесь новичок.Если в моем вопросе есть проблема, пожалуйста, задайте мой вопрос.Спасибо всем.

BULK INSERT Users
FROM 'C:\Users\SAMIR\Documents\users.txt'
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n',
--UTF-8
CODEPAGE = '65001'
);

1 Ответ

0 голосов
/ 03 апреля 2019

Если вам не нужно делать это через T-SQL, в Sql Server 2017 значительно улучшен импорт плоских файлов.Карты типов полей, максимальная длина и обрабатывает нули гораздо лучше, чем раньше, я бы попробовал, что

enter image description here

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