IDbDataParameter - определение Oracle Clob

У меня есть хранимая процедура с CLOB в качестве входных данных.

Я пытаюсь сделать рефакторинг, поэтому на мою библиотеку Oracle нет прямой ссылки. Когда я создаю параметр из объекта, я получаю обратно объект IDbDataParameter.

Передача строки без определения типа, кажется, работает нормально (установка имени и значения).

Однако текст обрезается на 32767, максимальной длине для Oracle VARCHAR.

Итак, мой вопрос, как мне установить OracleDbType для типа Clob, без необходимости выставлять сборку или использовать отражение. Я попытался использовать бинарный DbType, и это не удалось. Я бы предпочел не загружать библиотеку отражения использования, если есть лучший способ.

Вот пример кода:

''' <summary>
''' Creates a Parameter
''' </summary>
''' <param name="name"></param>
''' <param name="value"></param>
''' <returns></returns>
Public Function CreateParameter(ByVal name As String, ByVal value As String) As IDbDataParameter
    Dim parameter As IDbDataParameter = m_Db.CreateParameter()
    parameter.ParameterName = name
    parameter.Value = value
    Return parameter
End Function

И от звонящего. параметр p_notes - это то, что я хочу быть CLOB.

oDAL = New DAL.DataAccessLayer(m_BSL)
Dim parameters As New List(Of IDbDataParameter)
parameters.Add(oDAL.CreateParameter("p_no", compNo))
parameters.Add(oDAL.CreateParameter("p_sys", m_BSL.CurrentSystem.Description.ToString))
parameters.Add(oDAL.CreateParameter("p_notes", notes))
parameters.Add(oDAL.CreateParameter("p_chuser", m_BSL.CurrentUser.ToString))
oDAL.Exec_SP("P_UPDATE_MASTSTAT_NOTES", parameters.ToArray())

Так есть ли способ установить DbType таким образом, чтобы он назначал OracleDbType для CLOB?

0 ответов

Другие вопросы по тегам