Fortify SCA указывает на проблемы с внедрением SQL даже в параметризованной хранимой процедуре
Кто-нибудь может помочь мне решить эту проблему?
Пожалуйста, направь меня на правильный путь.
Ниже приводится общая функция БД, которая вызывается из всех функций доступа к данным.
Все команды SQL являются хранимыми процедурами, и проблема находится в строке
aryOutputParam.Add(sqlParam)
Public Function ActionQuery(ByVal cmdText As String, ByRef errorCode As Integer, _ Optional ByVal sqlParams As List(Of SqlParameter) = Nothing, _ Optional ByRef ds As DataSet = Nothing) As ArrayList Dim aryOutputParamValues As New ArrayList Dim aryOutputParam As New ArrayList Dim command As SqlCommand = New SqlCommand Dim sqlParamReturn As SqlParameter = Nothing errorCode = clsDBHelper.ErrorCode.ERRORCODE_SUCCESS Try With command .Connection = conn .CommandText = cmdText .CommandTimeout = 6000 If Not sqlParams Is Nothing AndAlso sqlParams.Count > 0 Then For Each sqlParam As SqlParameter In sqlParams .Parameters.Add(sqlParam) If sqlParam.Direction = ParameterDirection.Output Then aryOutputParam.Add(sqlParam) ElseIf sqlParam.Direction = ParameterDirection.ReturnValue Then sqlParamReturn = sqlParam End If Next End If If ds Is Nothing Then .ExecuteNonQuery() Else Dim da As SqlDataAdapter = New SqlDataAdapter() da.SelectCommand = command da.Fill(ds) End If If sqlParamReturn IsNot Nothing Then errorCode = sqlParamReturn.Value End If For Each sqlParam As SqlParameter In aryOutputParam aryOutputParamValues.Add(sqlParam.Value) Next End With Catch ex As Exception ErrorHandler.Handle(ex) End Try Return aryOutputParamValues End Function
Спасибо за ваше время и внимание.
Что я уже пробовал:
Я тоже пытался
.Parameters.AddWithValue(sqlParam.ParameterName, sqlParam.Value)вместо
.Parameters.Add(sqlParam)
CHill60
Лучше всего начать с форума поддержки программного обеспечения, с которым у вас возникли проблемы!Поддержка и услуги | Micro Focus[^]
Patrice T
Показать код хранимой процедуры.