Приложение C # для выбора данных из MySQL и вставки на SQL-сервер (файлы BLOB-объектов) - PullRequest
0 голосов
/ 05 февраля 2012

Я хочу выполнить запрос к базе данных MySQL и вставить результаты в базу данных SQL-Server 2008 R2.

В моей таблице (база данных MySQL) есть несколько столбцов, и один из них содержит путь к файлу. Я хочу использовать этот путь для вставки фактического файла в виде BLOB на мой SQL-сервер.

Таким образом, все столбцы из MySQL должны быть вставлены в SQL-сервер, а фактический файл - как BLOB.

Я могу подключиться и запросить базу данных MySQL, а также подключить свой SQL-сервер. Но как я могу вставить результаты. (некоторые файлы очень большие !!)

Я нашел кое-что об OPENROWSET, но не смог найти хороший пример вставки метаданных и файла.

Я хочу написать для этого приложение на C #. Я ценю любую помощь.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2012

Как упомянуто в ответе @ Pongsathon.keng, FileStream является опцией. Вам нужно включить поддержку вашей БД FileStream, и пользователь, который пишет, не может быть SQL-логином (имейте это в виду). Вы также можете использовать varbinary (max), также упомянутый (изображение будет устаревшим).

Мы решили использовать FileStream, чтобы использовать его вместе с индексированием полного текста. Вы также можете использовать типичный подход «Сохранить путь к файлу» и хранить фактические файлы / блоги в файловой системе. FileStream дает вам дополнительное преимущество: резервное копирование файлов с БД и применение разрешений / транзакций и т. Д.

Действительно зависит от того, что вы делаете.

Несколько хороших статей о FileStream Здесь и Здесь

0 голосов
/ 05 февраля 2012

SQL-Server 2008 R2 Поддержка файлового потока. (http://technet.microsoft.com/en-us/library/bb933993.aspx)

BLOB могут быть стандартными varbinary (max) данными, которые хранят данные в таблицах FILESTREAM varbinary (max) объекты, которые хранят данные в файловой системе Если сохраняемые объекты в среднем превышают 1 МБ, вы должны использовать файловый поток.

...