2010-03-26 2 views
0

У меня есть настольное приложение (C# .NET 3.5), которое использует SQL-сервер для своей базы данных. Однако у меня был запрос от клиента, чтобы он мог экспортировать базу данных в ее нынешнем виде и иметь возможность использовать ее на ноутбуке без подключения. Они понимают, что обновления для родительского сервера не будут отображаться в этих автономных клиентах.Экспорт баз данных SQL Server для использования в автономном режиме

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

+0

Является ли автономным экземпляром SQL Server? Предполагая, что размер базы данных составляет менее 4 ГБ, будет создана резервная копия и восстановление ... но тогда вам придется воссоздать логины и любые задания. –

+0

Нет, это не так, я бы просто хотел экспортировать объект DataSet в двоичный файл и сохранить его в файле. – WedTM

ответ

3

Вы можете использовать Compact Edition (или SDF-файлы), или вы можете сохранить наборы данных как XML с помощью встроенного метода.

+0

Мне нравится экспорт XML. Думаю, я это сделаю. – WedTM

2

Не можете ли вы просто взять резервную копию уровня SQL Server и установить их, например. SQL Server Express на своих ноутбуках и восстановить там базу данных?

Таким образом, вам не нужно было ничего особенного делать в своем приложении - просто измените строку подключения, чтобы указать на экземпляр локального экземпляра SQL Server Express, и вы уходите! Никаких скрепок с сериализованными наборами данных и материалами ...

+0

Я не хочу, чтобы они устанавливали какое-либо дополнительное программное обеспечение. Да, SQL Server express является опцией. Тем не менее, целевая аудитория технически не сообразительна, и я не хочу, чтобы 20 000 экземпляров SQL Server Express отображались в сетевых браузерах через свою организацию. – WedTM

+0

плюс вы можете настроить репликацию слияния «по требованию», чтобы синхронизировать два, если это когда-либо было необходимо (хотя столбцы rowguid любят боль с некоторым кодом доступа к данным). – KSimons

+0

Это не синхронная ситуация. Я бы не хотел синхронизировать. В основном у меня есть центральный сервер, это то, что используется в 90% случаев. Однако в некоторых случаях у меня есть рабочая станция, у которой не будет возможности подключения, поэтому мне нужен способ, которым я могу просто иметь одного человека «Экспортировать» данные и передавать его оператору несвязанной системы. – WedTM

4

Существует целый ряд инструментов и технологий, охватывающих этот случай, а именно Synch Framework. См. Synchronizing Databases. См. Getting Started: Client and Server Synchronization для исходного примера с файлом SQL Server Compact Edition на клиенте (файл .SDF), который синхронизируется с центральной базой данных SQL Server. Обратите внимание, что клиент не будет устанавливать ничего другого, кроме вашего приложения, SQL Server CE - это всего лишь несколько встроенных DLL-процессов, которые вы распространяете вместе с вашим приложением, почти ничего сложного, как версия SQL Express на клиенте.

Хорошая новость заключается в том, что Synch Framework не только позволяет клиенту получать собственный снимок базы данных на ходу, но и позволяет использовать изменения, которые были отключены, чтобы быть объединенными обратно на центральный сайт.

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