Проблема с доступом к базе данных для Entity Framework - PullRequest
0 голосов
/ 14 августа 2011

Я создал приложение Windows Forms, которое будет использовать модель клиентского сервера для доступа к базе данных.Я создал соединение для Entity Framework Model, и оно отлично работает со следующей строкой соединения:

connectionString="metadata=res://*/CartonOrderModel.csdl|
                           res://*/CartonOrderModel.ssdl|
                           res://*/CartonOrderModel.msl;
                  provider=System.Data.SqlClient;
                  provider connection string="
                  Data Source=.\SQLEXPRESS;
                  AttachDbFilename=E:\Databases\RollMeasurements.mdf;
                  Integrated Security=True;
                  Connect Timeout=30;
                  User Instance=True;
                  MultipleActiveResultSets=True""
providerName="System.Data.EntityClient"

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

Я попытался изменить строку подключения на следующее:

connectionString="metadata=res://*/CartonOrderModel.csdl|
                           res://*/CartonOrderModel.ssdl|
                           res://*/CartonOrderModel.msl;
                  provider=System.Data.SqlClient;
                  provider connection string="
                  Data Source=.\SQLEXPRESS;
                  Initial Catalog=RollMeasurements;
                  User ID=sa;
                  Password=sapassword;
                  Connect Timeout=30;
                  User Instance=True;
                  MultipleActiveResultSets=True""
providerName="System.Data.EntityClient"

Но теперь, когда я запускаю свое приложение, оно дает мнеисключение:

Не удалось создать пользовательский экземпляр SQL Server.Только интегрированное соединение может генерировать пользовательский экземпляр.Соединение будет закрыто.

Пожалуйста, помогите мне с этим.Спасибо!

Ответы [ 2 ]

2 голосов
/ 14 августа 2011

Я думаю, что вы должны удалить User Instance=True (или явно установить False). Пользовательские экземпляры являются локальными копиями базы данных SQL Express и не подходят для работы в многопользовательской среде с центральной БД.

0 голосов
/ 14 августа 2011

Я думаю, что если вы хотите получить доступ к центральному серверу, вам нужно изменить источник данных =. \ SQLEXPRESS;Линия к экземпляру центрального сервера SQL.

Английский не мой родной язык, поэтому, возможно, не правильно понимаю вопрос.

Приветствия

...