Не удается заставить локальную БД работать с приложением на другом ПК - PullRequest
0 голосов
/ 08 мая 2020

Итак, у меня есть это приложение, которое я написал как небольшой рабочий проект. Он использует одну таблицу базы данных, которая была настроена в Visual Studio вместе с самим приложением. И хотя он отлично работает на моем собственном ноутбуке, я не могу заставить его работать на другом P C.

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

Сначала я подумал, что это может иметь какое-то отношение к расположению файла (ов) базы данных, но даже после теста, когда я поместил эти файлы в то же место, что и на моем ноутбуке (который C: drive) это просто не работает.

Честно говоря, я понятия не имею, что я здесь делаю не так. Кто-нибудь может знать, что я могу сделать, чтобы он работал правильно?

Полная ошибка, которую я получил:

Z ie het einde van dit bericht voor meer informat ie over het aanroepen van JIT-foutopsporing (Just In Time) в plaats van dit dialoogvenster.

************** Текст с запросом ************** System.Data.SqlClient.SqlException (0x80131904): Это не все, что есть, например, для определенных заданных значений, которые были выполнены после выполнения SQL сервера. De server is niet gevonden of is niet toegankelijk. Контролер примеров правильных действий в инстеллинге ван SQL Server externe verbindingen zijn toegestaan. (поставщик: SQL Сетевые интерфейсы, ошибка: 50 - Ошибка отсутствует в локальной среде выполнения базы данных. Указанный экземпляр LocalDB не существует.) bij System.Data.SqlClient.SqlInternalConnectionTds..ctor (идентификатор DbConnectionPoolIdentity, SqlConnectionString connectionOptions , SqlCredential учетных данных, объект providerInfo, Струнный новый_пароль, SecureString newSecurePassword, логическое redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool бассейн, String маркер доступа, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager) бий System.Data.SqlClient.SqlConnectionFactory.CreateConnection (опции DbConnectionOptions, DbConnectionPoolKey poolKey , Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) bij System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (пул DbConnectionPool, DbConnection owningObject, DbConnection owningObject tionOptions варианты, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) BIJ System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) BIJ System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) бий System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, булева allowCreate, булева onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal & соединение) Bij System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) bij System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource 1 повторных попыток, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal & connection) bij System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 retry, DbConnectionOptions userOptions) bij System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 повтор, DbConnectionOptions userOptions) bij System.Data.SqlClient.SqlConnection.TryOpenInner (TaskCompletionSource 1 retry) bij System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1 повтор) bij System.Data.SqlClient.SqlConnectionatabase.Openees.Openees () bij Aanwezig () bij Aanwezig bij Aanwezigheidssysteem.Hoofdmenu.Form1_Load (Отправитель объекта, EventArgs e) bij System. Windows .Forms.Form.OnLoad (EventArgs e) bij System. Windows .Forms.Form.OnCreateControl () bij System. Windows .Forms.Control.CreateControl (Boolean fIgnoreVisible)
bij System. Windows .Forms.Control.CreateControl () bij System. Windows .Forms.Control.WmShowWindow (Message & m) bij System. Windows .Forms.Control.WndPro c (Message & m) bij System. Windows .Forms.ScrollableControl.WndPro c (Сообщение & m) bij System. Windows .Forms.Form.WmShowWindow (Message & m) bij System. Windows .Forms.Form.WndPro c (Message & m) bij System. Windows .Forms.Control.ControlNativeWindow.OnMessage (Message & m) bij System. Windows .Forms.Control.ControlNativeWindow.WndPro c (Message & m) bij System. Windows .Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ClientConnectionId: 00000000-0000-0000-0000-000000000000 Номер ошибки: -1983577849, состояние: 0, класс: 20

******* ******* Сборка Geladen ************** Версия сборки mscorlib ie: 4.0.0.0 Версия Win32 ie: 4.7.3110.0, созданная: NET472REL1LAST_ C CodeBase: файл: /// C: /Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll ---------------------- ------------------ Версия сборки DRPAttendanceSystem ie: 1.0.0.0 Версия Win32 ie: 1.0.0.0 CodeBase: file: /// C: /Program%20Files/DeBeerSoftware/DRP-AS/DRPAttendanceSystem.exe ------------------------------------ ---- System. Windows .Forms Версия сборки ie: 4.0.0.0 Версия Win32 ie: 4.7.3056.0 построена: NET472REL1 CodeBase: file: /// C: / Windows / Microsoft .Net / assembly / GAC_MSIL / System. Windows .Forms / v4.0_4.0.0.0__b77a5c561934e089 / System. Windows .Forms.dll ------------------ ---------------------- Версия системной сборки ie: 4.0.0.0 Версия Win32 ie: 4.7.3056.0 построенная: NET472REL1 CodeBase: file : /// C: /Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll ------------------ ---------------------- Версия сборки System.Drawing ie: 4.0.0.0 Версия Win32 ie: 4.7.3056.0 созданная: NET472REL1 CodeBase : файл: /// C: /Windows/Microsoft.Net/assemb ly / GAC_MSIL / System.Drawing / v4.0_4.0.0.0__b03f5f7f11d50a3a / System.Drawing.dll ----------------------------- ----------- Версия сборки System.Data ie: 4.0.0.0 Версия Win32 ie: 4.7.3056.0 построена: NET472REL1 CodeBase: file: /// C: / Windows / Microsoft.Net / сборка / GAC_32 / System.Data / v4.0_4.0.0.0__b77a5c561934e089 / System.Data.dll ----------------------- ----------------- Версия сборки System.Core ie: 4.0.0.0 Версия Win32 ie: 4.7.3110.0 созданная: NET472REL1LAST_C CodeBase: file: // /C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll ----------------- ----------------------- Версия сборки System.Configuration ie: 4.0.0.0 Версия Win32 ie: 4.7.3056.0, созданная: NET472REL1 CodeBase: file: /// C: /Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ----------- ----------------------------- System.Data.resources Версия сборки ie: версия 4.0.0.0 Win32 ie : 4.7.3056.0 построено: NET472REL1 CodeBase: file: /// C: /Windows/Microsoft.Net/assembly/GAC_MSIL/System.Data.resources/v4.0_4.0.0.0_nl_b77a5c561934e089/System.Data.resources.dll --- ------------------------------------- Система. Xml Версия сборки ie: 4.0 .0.0 Версия Win32 ie: 4.7.3056.0 создана: NET472REL1 CodeBase: file: /// C: /Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/ System. Xml .dll ---------------------------------------- System.Transactions Версия сборки ie: версия 4.0.0.0 Версия Win32 ie: 4.7.3056.0 построенная: NET472REL1 CodeBase: file: /// C: /Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/ v4.0_4.0.0.0__b77a5c561934e089 / System.Transactions.dll ---------------------------------------- Сборка System.EnterpriseServices - версия ie: 4.0.0.0 Версия Win32 ie: 4.7.3056.0 создана: NET472REL1 CodeBase: file: /// C: /Windows/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a /System.EnterpriseServices.dll ---------------------------------------- Сборка mscorlib.resources -vers ie: 4.0.0.0 Win32-vers ie: 4.7.3056.0 построено: NET472REL1 CodeBase: file: /// C: /Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4 .0_4.0.0.0_nl_b77a5c561934e089 / mscorlib.resources.dll -------------------------------------- - System. Windows .Forms.resources Версия сборки ie: 4.0.0.0 Версия Win32 ie: 4.7.3056.0 построенная: NET472REL1

CodeBase: file: /// C: / Windows / Microsoft.Net / assembly / GAC_MSIL / System. Windows .Forms.resources / v4.0_4.0.0.0_nl_b77a5c561934e089 / System. Windows .Forms.resources.dll

** ************ JIT-foutopsporing ************** Также JIT-foutopsporing wilt Inschake Len, может быть настроен и для отключения компьютера (machine.config) отладки jitDebugging в het gedeelte system. windows .forms zijn ingesteld. De toepassing moet ook zijn gecompileerd terwijl foutopsporing was Ingeschakeld. компьютер geregistreerd en worden niet door dit dialoogvenster verwerkt.

1 Ответ

0 голосов
/ 13 мая 2020

Итак, я выяснил, где что-то пошло не так. Мой код был на 100% в порядке. Однако оказалось, что файл SqlLocalDB.MSI не был «совместим» с БД, которую я использовал в своей программе. Он был «производным» от SQL Server 2014, тогда как мне нужен был производный от версии 2016 года.

Тем не менее, это сработало бы, если бы действительно изменили строку подключения, но по какой-то причине я не мог понять эту часть правильно. Итак, я пошел немного дальше и обнаружил, что при использовании SQL Server 2014 часть в моей строке подключения, которая говорит MSSQLLocalDB, должна быть изменена на V11.0 или что-то в этом роде. Однако при использовании SQL Server 2016 MSSQLLocalDB все-таки верен.

Так что я вроде как исправил это сам. В любом случае спасибо за полезные ответы. :)

...