2016-03-25 2 views
0

Мой WPF applicaiton использует database.In мой app.copnfig Я поставил ConnectionString, как показано ниже:ConnectionString, которые должны работать на всех машине

<connectionStrings> 
<add name="AppointmentConnectionString" 
connectionString="Data Source=.;Initial Catalog=ClientAppointmentsDB;Integrated Security=true" 
providerName="System.Data.SqlClient"/> 
</connectionStrings> 

Я установил источник данных для местных, будет эту работу (.) все машины? Если нет, что мне делать, чтобы он работал на всех машинах?

ответ

1

Предполагая, что это SQL Server, DataSource=local (или DataSource=. или DataSource=(local) или DataSource=localhost) будет работать только если SQL Server работает на той же машине, что и программное обеспечение и экземпляр по умолчанию, и имеет такое же имя базы данных, и имеет такая же настройка безопасности (для SSPI Integrated Security) - как вы можете видеть, это много зависимостей.

Часто базы данных при поддержке программного обеспечения будет хранить соединение-нить не в файле app.config (который, как правило, считается только для чтения, особенно если программа установлена ​​на защищенной от записи места, как %programfiles%) - вместо того, чтобы ваша программа должна запрашивать вашего пользователя, чтобы указать сведения о соединении с сервером базы данных, а затем сохранить его в простейшем файле конфигурации в каталоге пользователя %appdata% или в локальном реестре.

Убедитесь, что если вы используете явное имя пользователя и пароль (вместо SSPI), которые вы должным образом зашифровываете, рассмотрите возможность использования DPAPI для шифрования для каждого пользователя или для каждой машины.

Смежные вопросы