Был такой случай в проекте WPF. Моя проблема была в строке, которая шла так:
DataTable myTable = FillTable(strMySqlQuery);
Где FillTable()
вернул DataTable на основе строки запроса SQL. Если бы я сделал опцию «копировать исключение в буфер обмена», я думаю, что это было, и вставил в Блокнот, я мог видеть сообщение. Для меня это было The input is not a valid Base-64 string as it contains a non-base 64 character
.
Моя настоящая проблема заключалась не в том, что в строке запроса было что-то, чего не должно было быть, как я думал, потому что string strMySqlQuery = "SELECT * FROM My_Table"
была моей строкой и я думал, что это может быть *
или _
, но Фактическая проблема была в FillTable()
, где у меня был вызов другой функции, GetConnection()
, которая возвратила объект OracleConnection
, чтобы открыть его, получить и вернуть DataTable. Внутри GetConnection()
я получал параметры app.config
для моей строки подключения, и у меня был один из них неправильно назван, поэтому он устанавливал нулевое значение для пароля учетной записи службы и не устанавливал соединение с БД. Так что это не всегда, где ошибка точно верна для всех обстоятельств. Лучше всего погрузиться в функцию, в которой обнаружена ошибка, и выполнить пошаговую отладку и убедиться, что все значения соответствуют ожидаемым.