Как программно извлечь схему таблицы SQL Server для построения SQL Server CE? - PullRequest
1 голос
/ 23 декабря 2011

Как указано в заголовке, как программно создать SQL Server CE 4.0 из удаленного SQL Server?

Я хочу, чтобы мое приложение позволяло пользователям удалять .sdf и создавать новый на основев новой схеме удаленной базы данных при обновлении схемы базы данных.А затем загрузите соответствующие данные для автономного использования.

Я уже прочитал о части SqlCeEngine, но я не очень хорошо разбираюсь в запросах SQL Server CE - кажется, выдает много синтаксических ошибок при попытке в Management Studio.

Я также пробовал синхронизацию моментальных снимков Microsoft Sync Framework, но она кажется слишком громоздкой, а база данных локального кэша изменяет схему базы данных и создает много ненужных ненужных мне файлов.Может быть, решение более низкого уровня, такое как запрос информации.схема или что-то еще, может работать лучше?

Ответы [ 3 ]

0 голосов
/ 27 декабря 2011

Вы можете использовать мой API сценариев и инструменты командной строки для этого: http://exportsqlce.codeplex.com - см., Например, этот блог: http://erikej.blogspot.com/2010/02/how-to-use-exportsqlce-to-migrate-from.html

0 голосов
/ 13 октября 2014

Это может быть более современный способ использования только SQL:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS
0 голосов
/ 23 декабря 2011

Оформить заказ DMO.Используя управляемый код, вы можете перечислять такие объекты, как таблицы, столбцы на стороне сервера sql.

http://msdn.microsoft.com/en-us/library/aa174487(v=sql.80).aspx

Вот учебник, с которого можно начать:

http://www.codeproject.com/KB/database/SMO_Tutorial_1.aspx

Что касается данных, одним из вариантов является утилита bcp

http://msdn.microsoft.com/en-us/library/aa337544.aspx

Это хорошая отправная точка, если вы хотите извлечь и создать новую базу данных.Для зеркалирования / синхронизации, вероятно, не очень хороший путь.Если данные клиента доступны только для чтения и вы хотите обновить локальные данные, вы можете просто извлечь их снова и выбросить старый «кэш данных»

...