Как исправить проблему со строкой подключения при настройке приложения на c #?(Sql, чтобы выразить) - PullRequest
1 голос
/ 26 июня 2019

Я пишу программу на C # и Microsoft SQL Server 2017 и работаю без проблем ...

Но когда я хочу создать установочный файл для этого приложения, и я делаю экземпляр моей базы данных Express, который создает проблемы со строкой подключения.

Я копирую файлы базы данных в папку отладки и изменяю app.exe.config строку подключения, но получаю ошибку.

В моей программе 5 слоев и 4 файла конфигурации, сколько из них нужно изменить в части строки подключения?

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

<add name="AccountingDBEntities" 
     connectionString="metadata=res://*/AccountingModel.csdl|res://*/AccountingModel.ssdl|res://*/AccountingModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\AccountingDB.MDF;integrated security=True;MultipleActiveResultSets=True&quot;" 
     providerName="System.Data.EntityClient" />

Ошибка:

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

Некоторые детали:

См. Конец этого сообщения для деталей о вызове. Отладка по времени (JIT) вместо этого диалогового окна.

************** Exception Text **************

System.Data.Entity.Core.EntityException: базовый поставщик не удалось открыть. ---> System.Data.SqlClient.SqlException: невозможно открыть физический файл "E: \ Projects \ Programming Project \ C # \ Accounting1.0 \ UI \ bin \ Debug \ AccountingDB.MDF". Ошибка операционной системы 5: «5 (доступ запрещен.)».

Попытка присоединить базу данных с автоматическим именем для файла E: \ Projects \ Programing Project \ C # \ Accounting1.0 \ UI \ bin \ Debug \ AccountingDB.MDF не удалась. База данных с тем же именем существует, или указанный файл не может быть открыт, или он находится на общем ресурсе UNC.

в System.Data.SqlClient.SqlInternalConnectionTds..ctor (идентичность DbConnectionPoolIdentity, SqlConnectionString connectionOptions, SqlCredential верительных, Object providerInfo, Струнный Новый_пароль, SecureString newSecurePassword, логическое redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool бассейн, Строка, Boolean маркер доступа applyTransientFaultHandling , SqlAuthenticationProviderManager sqlAuthProviderManager) в System.Data.SqlClient.SqlConnectionFactory.CreateConnection (параметры DbConnectionOptions, DbConnectionPoolKey poolKey, объект poolGroupProviderInfo, пул DbConnectionPool, DbConnection owningConnection, пользовательские функции DbConnectionOptions) в System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (пул DbConnectionPool, DbConnection owningObject, параметры DbConnectionOptions, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) в System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) в System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) в System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, логический onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal & connection) в System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource 1 повтор, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal & connection) в System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (DbConnection externalConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 повтор, DbConnectionOptions userOptions) в System.Data.SqlClient.SqlConnection.TryOpenInner (TaskCompletionSource 1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1 повтор) в System.Data.SqlClient.SqlConnection.Open ()в System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.b__36 (DbConnection t, DbConnectionInterceptionContext c) в System.Data.Entity.Infrastructure.Interception.InternalDispatcher 1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action 2 операция, TInterceptionContext interceptionContext, действие 3 executing, Action 3 выполнено) в System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open (соединение DbConnection, DbInterceptionContext interceptionContext) в System.Data.Entity.Core.EntityClient.EntityConnection.b__2 () в System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy. <> c__DisplayClass1.b__0 () в System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute [TResult] (Func 1 operation) at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Action operation) at System.Data.Entity.Core.EntityClient.EntityConnection.Open() --- End of inner exception stack trace --- at System.Data.Entity.Core.EntityClient.EntityConnection.Open() at System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection(Boolean shouldMonitorTransactions) at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func 1 func, IDbExecutionStrategy executeStrategy, логическое значение startLocalTransaction, логическое значение releaseConnectionOnSuccess) в System.Data.Entity.Core.Objects.ObjectQuery 1.<>c__DisplayClass7.<GetResults>b__5() at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func 1 операция) в System.Data.Entity.Core.Objects.ObjectQuery 1.GetResults(Nullable 1 forMergeOption) в System.Data.Entity.Core.Objects.ObjectQuery 1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0() at System.Data.Entity.Internal.LazyEnumerator 1.MoveNext ()

...