Могу ли я получить доступ к sdf (файлу базы данных SQL Server Compact), хранящемуся на другом компьютере в той же сети?

Я сделал это для SQL Server, теперь я пытался сделать это для SQL Server Compact.

Я не могу создать строку подключения в SQL Server Compact, в которой есть возможность предоставления ip/сервера.


person Amber    schedule 07.12.2012    source источник
comment
SQL Server CE не предназначен для использования в сети — это база данных только для локальной машины (или кэш), а не сетевая система баз данных.   -  person marc_s    schedule 07.12.2012
comment
не кажется логичным, что я не могу получить доступ к sdf, такая помеха, если это так.   -  person Amber    schedule 07.12.2012
comment
SQL Server Compact просто не предназначен для использования в сети. Он разработан как только локальное хранилище кеша/базы данных. Это было дизайнерское решение, принятое его авторами... если вам нужно что-то, что работает для нескольких пользователей в сети - используйте настоящий SQL Server (Express или любую другую редакцию ).   -  person marc_s    schedule 07.12.2012
comment
как мы должны извлечь информацию из sdf тогда? Я имею в виду, что я использовал программное обеспечение для развертывания в каком-то месте. Очевидно, я не хотел бы идти туда каждый раз, когда мне нужна информация.   -  person Amber    schedule 07.12.2012
comment
Вы можете использовать что-то вроде Sync Framework, чтобы вернуть данные на SQL Server.   -  person PeterJ    schedule 07.12.2012
comment
Поместите сервис поверх этих данных! В любом случае я бы никогда не рекомендовал удаленный доступ к некоторым данным напрямую ....   -  person marc_s    schedule 07.12.2012
comment
я просто хочу использовать его для локальной сети с правильной аутентификацией.   -  person Amber    schedule 07.12.2012
comment
Разве структура синхронизации не похожа на использование Dropbox?   -  person Amber    schedule 07.12.2012
comment
поскольку SQL Server Compact не предназначен для использования в новой сети (потому что это файл, такой как Microsoft Access и Sqlite), у вас есть 2 варианта: изменить БД на что-то другое (SqlServer) или загрузить файл, изменить его и загрузить. dans, честно говоря, мне не нравится второй вариант.   -  person Hamza_L    schedule 07.12.2012


Ответы (2)


Попробуйте реплицировать данные на удаленный сервер. http://msdn.microsoft.com/en-us/library/ms152568(v=sql.105).aspx

person Amber    schedule 07.12.2012
comment
Добавлен новый вики-ответ сообщества, включающий ссылки, предоставленные Эмбер, а также объединенные комментарии в ответ. Не стесняйтесь голосовать, чтобы удалить из обзора. - person Alexei Levenkov; 15.01.2017

SQL Server Compact просто не предназначен для использования в сети. Он разработан как локальное хранилище кеша/базы данных. Это было дизайнерское решение, принятое его авторами... если вам нужно что-то, что работает для нескольких пользователей в сети - используйте настоящий SQL Server (Express или любую другую версию) (от marc_s

Также считается плохой идеей выставлять SQL-сервер в сеть — вы можете перепроектировать свое приложение, чтобы иметь службу, открывающую ограниченную функциональность для пользователей и вызывающую БД (в этом случае вы можете использовать локальный компактный SQL, но по-прежнему рассматривайте другие выпуски, более подходящие для общего хранения данных).

Если требуется SQL Compact — реплицируйте данные в локальный файл — MSDN:Репликация данных в SQL Server Compact.

Дополнительные сведения о строках подключения Sql Compact см. в Подключение C# к базе данных SQL Server Compact.

person Community    schedule 15.01.2017