SnowflakeDbConnection Open (): случайный сбой после обновления до .NET Standard 2.1 - PullRequest
0 голосов
/ 06 ноября 2019

Я обновил решение с проектов, в которых были .NET Core 2.2 и .NET Standard 2.0 до .NET Core 3.0 и .NET Standard2.1 , соответственно.

В проекте, построенном на платформе .NET Standard, есть строка кода, которая представляет проблемы, которых не было раньше

private _connectionString = " stuff here ";

public List<Character> GetAll(int take, int skip, string orderBy, string sortOrder)
{   
    ...
    using (IDbConnection conn = new SnowflakeDbConnection())
    {

        conn.ConnectionString = _connectionString;

        if (conn != null && conn.State == ConnectionState.Closed)
            conn.Close();

        try {
            conn.Open();
        }
        catch(Exception ex)
        {
            throw ex;
        }
    ...
}

Когдакод достигает conn.Open(), он просто зависает до тех пор, пока, наконец, не вернет

TaskCanceledException: задача была отменена.

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

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


ОБНОВЛЕНИЕ: После запуска SYSTEM$WHITELIST() на Snowflake, копирования результата json и сохранения его в файл с именем whitelist.json,Я выполнил следующую команду на локальном компьютере:

snowcd .\whitelist.json
Performing 33 checks for 13 hosts
All checks passed

1 Ответ

0 голосов
/ 07 ноября 2019

Лучший способ получить больше информации о соединении с новым драйвером .Net - использовать Snowflake Connectivity Diagnostic Tool . который можно настроить с помощью этих инструкций .

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

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