Невозможно подключить приложение Asp. Net MVC к SQL БД сервера на виртуальной машине. - PullRequest
0 голосов
/ 27 марта 2020

Я боролся с этим почти два дня безрезультатно. У меня есть приложение Asp. Net MVC, которое использует SQL БД сервера. Локально работает отлично. Он подключается к БД, используя следующий формат строки подключения:

<add name="MyConnectionDb" providerName="System.Data.SqlClient" connectionString="data source=localhost;Initial Catalog=SomeDatabase;Integrated Security=True;" />

Я развернул сайт на виртуальной машине Windows, размещенной на AWS. Часть AWS, я думаю, не имеет ничего общего с ошибкой, но на всякий случай. Хорошо двигаясь дальше, я развернул его на этой виртуальной машине.

Также я включил DNS для этого виртуального IP-адреса, чтобы он мог быть доступен для других людей в команде.

Пока все отлично работает. В данный момент проблема заключается в подключении к БД из внешнего источника, отличного от ВМ. Это ошибка, которую я вижу при просмотре событий:

Информация об исключении: Тип исключения: ArgumentException Сообщение об исключении: Формат строки инициализации не соответствует спецификации, начиная с индекса 0. System.Data.Common .DbConnectionOptions.GetKeyValuePair (String connectionString, Int32 currentPosition, буфер StringBuilder, логическое значение useOdbcRules, String & keyname, String & keyvalue) в System.Data.Common.DbConnectionOptions.ParseInternal (Hashtable parsetable, BooleaningSigning, StringingSigning, String, String, String, ключевая переменная) System.Data.Common.DbConnectionOptions..ctor (String connectionString, синонимы Hashtable, логическое использование useOdbcRules) в System.Data.SqlClient.SqlConnectionString..ctor (String connectionString) в System.Data.SqlClient.SqlConnectionFactory.OptionsConceЛИxDirectorySring предыдущий) в System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup (ключ DbConnectionPoolKey, DbC onnectionPoolGroupOptions poolOptions, DbConnectionOptions & userConnectionOptions) в System.Data.SqlClient.SqlConnection.ConnectionString_Set (ключ DbConnectionPoolKey) в System.Data.SqlClient.SqlConnection.set_ConnectionInter.Intern.Info.Inter.Inter. StringInter .Inter .Inter .Inter .Inter .Inter .Inter .Inter .Inter .Inter .Inter .Inter .Inter .Inter .Inter .Inter .Inter. операция, TInterceptionContext interceptionContext, действие 3 executing, Action 3 выполнено) в System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.SetConnectionString (соединение DbConnection, DbConnectionPropertyInterceptionContext 1 interceptionContext) at System.Data.Entity.Internal.LazyInternalConnection.Initialize() at System.Data.Entity.Internal.LazyInternalConnection.get_Connection() at System.Data.Entity.Infrastructure.DbContextInfo..ctor(Type contextType, DbProviderInfo modelProviderInfo, AppConfig config, DbConnectionInfo connectionInfo, Func 1 resolver) в System.Data.rations.ig.Mity.Mity.IntM.IntM.IntM.Intity. (Конфигурация DbMigrationsConfiguration, DbContext usersContext, DatabaseExistenceState creationState, Boolean namedByCreateDatabase)

Интересная часть, если я использую приведенную выше строку подключения для генерации БД (сначала мы используем код EF) из Visual Studio -> Package Manager Console внутри ВМ это работает. Но не тогда, когда мы пытаемся использовать сайт.

Это еще один формат строки подключения, который я пробовал:

<add name="MyConnectionDb" providerName="System.Data.SqlClient" connectionString="Server=localhost\MSSQLSERVER01;Database=SomeDatabase;User ID=myUser;Password=mypassword;Trusted_Connection=False;" />

Не уверен, что происходит. Я также ссылался на этот Stackoverflow ссылка , но тот же результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...