Я пишу программу на C # и Microsoft SQL Server 2017 и работаю без проблем ...
Но когда я хочу создать установочный файл для этого приложения, и я делаю экземпляр моей базы данных Express, который создает проблемы со строкой подключения.
В моей программе 5 слоев и 4 файла конфигурации, сколько из них нужно изменить в части строки подключения?
Я попытался использовать эту строку подключения вместо исходной строки подключения, сначала я попытался найти файл конфигурации в папке отладки и выдать ошибку, а в следующий раз попробовал все файлы конфигурации и ошибку создания тоже
См. Конец этого сообщения для деталей о вызове.
Отладка по времени (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 ()