Строка подключения к SQL Server - PullRequest
4 голосов
/ 27 января 2011

Я предполагаю, что вы получите сотни таких вопросов, но здесь идет речь:

Итак, я пытаюсь заставить мобильное устройство Honeywell Dolphin 6100 (CE5.0, .NET Compact Framework) общаться сбаза данных SQL Server Express 2008, установленная на компьютере, на котором я разрабатываю.

Я - новичок в разработке SQL Server и мобильных устройств, и все еще немного зелен в C # (да, я знаю, что я прыгнул вглубокий конец здесь, а?: D)

Пока что у меня есть:

string sConnection = @"Data Source=JEZ-LAPTOP;DataBase=EMS_Main;Integrated Security=SSPI;";   
SqlConnection sqc = new SqlConnection(sConnection);
sqc.Open();

Приложение довольно успешно разворачивается на 6100, но последняя строка дает сбой с расплывчатым «исключением SQL»"ошибка.

Я попытался изменить источник данных, чтобы включить имена экземпляров, косые черты и точки перед ним и т. д. и т. д. (даже если сервер просто использует экземпляр по умолчанию), но безрезультатно.

Я могу без проблем подключиться к базе данных в Management Studio.

Итак, ошибка строки подключения или что-то, что я не правильно сделал в SQL Server?

Спасибо взаранее.

Это ситЭто круто, кстати, некоторые очень умные ребята здесь.

1 Ответ

3 голосов
/ 27 января 2011

CE 5.0 не поддерживает встроенную безопасность.Я считаю, что первая версия, поддерживающая его, была мобильная 6.1.В любом случае вы не можете использовать SSPI с вашей конфигурацией.Вам придется создать пользователя SQL Server и использовать его в качестве учетных данных для подключения.

Еще одна вещь, которую необходимо попробовать, помимо использования UID / PWD для подключения, - это ссылка на сервер по IP.Возможно, что разрешение DNS не выполняется на вашем устройстве должным образом.Хм, это совсем другая проблема.Ваше устройство находится в той же сети, что и SQL Server?

И для дальнейшего использования закрепите этот удобный URL-адрес в памяти: http://connectionstrings.com

EDIT

Давайте посмотрим что-то вроде ... если именованный экземпляр SQL Server:

@"Data Source=192.168.0.56\SERVER_NAME;DataBase=EMS_Main;User Id=joe;Password=pwd;";

если не назван экземпляр SQL Server:

@"Data Source=192.168.0.56;DataBase=EMS_Main;User Id=joe;Password=pwd;";  
...