2013-10-02 2 views
4

Я ищу простое решение (от beginner to SQL), которое позволяет импортировать данные из моего CSV-файла в мою SQL-базу данных.Импорт обновления CSV в SQL Server

У меня есть сторонняя программа, которая обновляет мой CSV-файл каждые 30 секунд, и я хочу поместить эту информацию обновления в свою SQL-базу данных. Я попытался импортировать мастер экспорта &, но он не работает из-за того, что файл .csv используется другой сторонней программой.

Получение информации в БД SQL не обязательно в режиме реального времени, она может просто получить всю информацию при открытии сохраненного файла запроса sql.

Спасибо!

+0

У вас нет никаких других языков, участвующих в передаче данных на и из базы данных? –

+0

На данный момент ничего не происходит в базе данных. Но это то, что я хочу. Файл .csv заполняется, и я хочу передать эту информацию в БД –

ответ

0

OPENROWSET является простейшим, если вы получаете, что работаете в вашем env для CSV-файла. я видел много проблем с какой ОС и какая версия MS-офиса установлена ​​с 32-битным или 64-битным.

но немного больше работы, и вы все настроитесь на создание небольшого пакета SSIS для импорта CSV в таблицу. выполнить SSIS с использованием SQL JOB на желаемый интервал. позже, если вам понадобится более сложная вставка/обновление, вы всегда можете изменить пакет.

0

В этом случае producer consumer problem, где один процесс записывает данные, а другой читает его.

Что бы вы ни делали, вам нужно установить какую-то блокировку в этом файле, чтобы процесс мог проверить, доступен ли файл для чтения/записи. Если у мастера импорта/экспорта были проблемы с параллелизмом, тогда, вероятно, будут и другие процессы.

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

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

Все вышеперечисленное необходимо, если это должно быть полностью автоматизированным и необслуживаемым процессом.

Если нет, вы можете вручную создать копию CSV-файла, а затем использовать мастер импорта/экспорта для импорта данных.

Вот еще один ресурс, вы можете проверить для импорта CSV в SQL Server

http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma-delimited-file-into-sql-server/

Смежные вопросы