c # Подключение к локальной базе данных MDF - PullRequest
3 голосов
/ 30 августа 2010

На моем компьютере разработчика у меня установлен MS SQL Server / Visual Studio 2005. Моя программа может правильно подключиться к моей локальной БД и использовать ее. Однако мой другой компьютер (не dev) не имеет MS SQL Server / Visual Studio 2005 и не подключается к БД. Выплевывает следующее:

"Произошла ошибка при установлении соединения с сервером. При подключении к SQL Server 2005 эта ошибка может быть вызвана тем, что в настройках по умолчанию SQL Server не разрешает удаленные соединения. ..." (Ошибка : 26).

Означает ли это, что я должен установить SQL Server 2005 на своих компьютерах не-dev? Есть ли другой способ?

Моя строка подключения:

"Источник данных =. \ SQLEXPRESS; AttachDbFilename = \" " + Directory.GetCurrentDirectory () + "\ DB.mdf \"; Интегрированная безопасность = True; Пользовательский экземпляр = True ";

Ответы [ 3 ]

2 голосов
/ 30 августа 2010

Если вы хотите запустить его на этом другом ПК / сервере, вам также необходимо установить SQL Server (необходимо подключить к нему файл .mdf) или установить SQL Server Express.

Еще одна хитрость - изменить строку подключения, чтобы она указывала на другой компьютер / сервер, на котором работает ваша база данных.

2 голосов
/ 19 октября 2010

Строка подключения сообщает провайдеру ADO.NET собственного клиента сервера Sql о попытке подключиться к экземпляру сервера Sql с именем SQLEXPRESS , который будет управлять базой данных, хранящейся в файле DB.mdf .Поскольку на вашем клиентском компьютере не установлен Sql Server Express, он не найдет базу данных для подключения.

Вам потребуется:

  • Установить Sql Server на клиентском компьютере.и разверните там свою базу данных.
  • Переключитесь на Sql Server Compact Edition (SqlCE - встроенная база данных) и перепроектируйте свое приложение, чтобы использовать вместо него файл переносимой базы данных (с SqlCE).надежное ядро ​​базы данных и полностью перейти на ADO.NET DataSets, сохраняя / загружая содержимое DataSet в файл XML (через WriteXml () и ReadXml () ).Если объем обрабатываемых данных довольно ограничен по размеру, DataSets - хороший подход к поддержанию целостности (с помощью строго типизированной и четко определенной схемы) и переносимости.
1 голос
/ 30 августа 2010

Да, вам нужен MS-SQL (Express), доступный на ваших целевых компьютерах. Либо локальная установка, либо подключение к серверу.

Не так сложно включить SQl Express в Setup.exe (см. Предварительные требования).

Альтернативой является использование SQL-CE или Sqlite или (даже) MS-Access. Они являются «встроенными» механизмами баз данных, поэтому вам нужно только распространять библиотеки DLL.

...