SqlConnectionStringBuilder Сбой в пакете служб SSIS - PullRequest
2 голосов
/ 27 февраля 2020

У меня есть пара пакетов SSIS в Production, которые используют SqlConnectionStringBuilder для подключения к базе данных SQL Server. Эти пакеты работали нормально примерно до 10 дней go, и мы ничего не меняли на Prod. Затем, внезапно, пакет начал сбой с ошибкой

Недопустимый формат строки подключения. Он должен состоять из одного или нескольких компонентов вида x = y, разделенных точками с запятой.

Когда я пытаюсь отладить задачу скрипта, задача скрипта всегда терпит неудачу при следующем:

string connstring = Dts.Variables["User::Static"].GetSensitiveValue().ToString();
//MessageBox.Show(connstring);
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connstring);
builder.ConnectTimeout = 1800;

Из сообщения об ошибке кажется, что я передаю пустую строку соединения, Но это не тот случай. Я жестко закодировал строку подключения к переменной Stati c, чтобы она не создавалась динамически (очевидно, для целей тестирования и разрешения).

Какие у меня есть альтернативы этому методу и что еще я могу сделать, чтобы устранить эту проблему? Любая помощь приветствуется.

РЕДАКТИРОВАТЬ:

После копания я попадаю в точку, где он пытается выполнить Stored pro c в базе данных.

SqlCommand command = new SqlCommand("[dbo].[GetdataALL]", sqlConn);
                    command.CommandTimeout = 1800;
                    command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("@Columns1", Dts.Variables["User::Columns"].Value.ToString());
                    command.Parameters.AddWithValue("@Where_ID", Dts.Variables["User::WhereID"].Value.ToString());
                    command.ExecuteNonQuery();

Какая вероятная причина сбоя? Спасибо.

1 Ответ

0 голосов
/ 27 февраля 2020

Вы получаете эту ошибку только при отладке? Если это так, вам нужно изменить уровень защиты на EncryptSensitiveWithPassword. Проверьте ответ ХоджиХодсона.

Ссылка на ссылку

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