Как импортировать CSV-файлы - PullRequest
1 голос
/ 30 апреля 2010

Как я могу импортировать данные файла CSV в таблицу SQL Server 2000? Мне нужно вставлять данные из файла CSV в таблицу два раза в день. Таблица содержит более 20 полей, но мне нужно только вставить значение в 6 полей.

Ответы [ 5 ]

1 голос
/ 30 апреля 2010

Для SQL 2000 я бы использовал DTS. Затем вы можете запланировать это как работу, когда вы довольны. Ниже приведена хорошая ссылка Microsoft, объясняющая, как ее использовать.

Службы преобразования данных (DTS)

1 голос
/ 30 апреля 2010

Мне нужно вставить данные из файла CSV в таблицу два раза в день .

Используйте DTS для выполнения импорта, а затем запланируйте его.

1 голос
/ 30 апреля 2010

Я сталкиваюсь с той же проблемой, прежде чем могу предложить начать читать здесь . Автор охватывает: «Это очень распространенный запрос в последнее время - Как импортировать файл CSV в SQL Server? Как загрузить файл CSV в таблицу базы данных SQL Server? Как загрузить файл с разделителями-запятыми в SQL Server? Давайте посмотрим на решение в быстрых шагах . "

0 голосов
/ 30 апреля 2010

Вы можете использовать службы интеграции SQL Server ( SSIS ). Это просто одноразовое задание для создания пакета. В следующий раз просто запустите этот пакет.

Вы также можете попробовать Массовая вставка , как объяснил Даниэль.

Вы также можете попробовать Мастер импорта экспорта в SQL Server 2000.

0 голосов
/ 30 апреля 2010

Вы описываете две различные проблемы:

  1. импорт CSV и
  2. извлечение данных только в эти 6 полей.

Итак, разбейте свое решение на два этапа:

  1. импортировать CSV в необработанную промежуточную таблицу и
  2. затем вставьте в свои шесть «живых» полей из этой промежуточной таблицы.

Существует функция для первой части, которая называется BULK INSERT , синтаксис выглядит так:

BULK INSERT target_staging_table_in_database
FROM 'C:\Path_to\CSV_file.csv'
WITH
(
    DATAFILETYPE = 'CHAR'
    ,FIRSTROW = 2
    ,FIELDTERMINATOR = ','
    ,ROWTERMINATOR = '\n'
);

Отрегулируйте по вкусу, и обратитесь к документации для получения дополнительных вариантов. Вы также можете захотеть TRUNCATE или DELETE FROM вашей промежуточной таблицы перед выполнением массовой вставки, чтобы у вас там не было старых данных.

Как только вы получите информацию в базу данных, просто наберите UPDATE или INSERT в этих шести полях.

...