Подключитесь к экземпляру Google Cloud SQL из CORE с прокси: произошла ошибка, связанная с сетью или экземпляром. Я могу подключиться через MySQL cmd

0

Я начинаю с запуска прокси-сервера gool, выполняя следующую команду:

./cloud_sql_proxy -instances=dauntless-gate-xxxxxx:us-central1:redacted-dev=tcp:3306

Я УСПЕШНО подключаюсь к нему из следующих команд:

mysql --host=127.0.0.1 --user=sa --password=<redacted>

или же

mysql --host=127.0.0.1 --user=sa --password=<redacted>

Я пытаюсь и не могу подключиться с помощью ASP.net Core 2 с описанием:

startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<UserContext>(opt => 
        opt.UseSqlServer("Server=127.0.0.1:3306; User Id=sa;Password=<redacted>;"));
...
}

Ошибка:

SqlException: при установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (поставщик: поставщик TCP, ошибка: 35 - было обнаружено внутреннее исключение)

Я также пытаюсь сделать следующее и получить немного другую ошибку:

startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<UserContext>(opt => 
        opt.UseSqlServer("Server=127.0.0.1; User Id=sa;Password=<redacted>;"));
...
}

При обработке запроса возникло необработанное исключение. SqlException: при установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (поставщик: поставщик TCP, ошибка: 40 - не удалось открыть соединение с SQL Server)

При обработке запроса возникло необработанное исключение. ExtendedSocketException: Нет такого устройства или адреса System.Net.Dns.InternalGetHostByName(string hostName)

Теги:
.net-core
asp.net-core
google-cloud-sql

1 ответ

1
Лучший ответ

"SQL Server" - это имя для продукта сервера Microsoft SQL, который не совпадает с MySQL, который работает на вашем экземпляре. Вам нужно будет использовать MySQL Connector/NET для подключения. Ознакомьтесь с этой страницей для получения более конкретных указаний для Entity Framework.

  • 0
    Спасибо, это была точная проблема! Я прочитал некоторую неточную документацию о том, что UseSqlServer может быть использован и на mySql.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню