Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка: Недопустимые сведения о привязке / 3 сообщений из 3, страница 1 из 1
20.02.2008, 16:58
    #35145152
ADODB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка: Недопустимые сведения о привязке
Доброго времени суток!
Помогите, пожалуйста, разобраться.

Имеем:

Set cm = New ADODB.Command
cm.ActiveConnection = cnn

cm.CommandText = "xx_scm_elm_adj.create_elm_entry_header"
cm.CommandType = adCmdStoredProc
'cm.Parameters.Refresh

Set Prm_x_errbuf = cm.CreateParameter("x_errbuf", adChar, adParamOutput, 20000)
cm.Parameters.Append Prm_x_errbuf

Set Prm_retcode = cm.CreateParameter("x_retcode", adInteger, adParamInputOutput)
cm.Parameters.Append Prm_retcode
'Prm_retcode.Value = "0"

Set Prm_hierarchy_id = cm.CreateParameter("p_hierarchy_id", adInteger, adParamInput)
cm.Parameters.Append Prm_hierarchy_id
Prm_hierarchy_id.Value = gHierarchy_id

Set Prm_entity_id = cm.CreateParameter("p_entity_id", adInteger, adParamInput)
cm.Parameters.Append Prm_entity_id
Prm_entity_id.Value = gEntity_Id

Set Prm_entity_name = cm.CreateParameter("p_entity_name", adVarChar, adParamInput, 5000)
cm.Parameters.Append Prm_entity_name
Prm_entity_name.Value = gEntity_Name

Set Prm_entry_name = cm.CreateParameter("p_entry_name", adVarChar, adParamInput, 5000)
cm.Parameters.Append Prm_entry_name

Set Prm_entry_description = cm.CreateParameter("p_entry_description", adVarChar, adParamInput, 5000)
cm.Parameters.Append Prm_entry_description

Set Prm_start_cal_period_id = cm.CreateParameter("p_start_cal_period_id", adVarChar, adParamInput, 5000)
cm.Parameters.Append Prm_start_cal_period_id
Prm_start_cal_period_id.Value = gCal_Period_Id

Set Prm_end_cal_period_id = cm.CreateParameter("p_end_cal_period_id", adVarChar, adParamInput, 5000)
cm.Parameters.Append Prm_end_cal_period_id
Prm_end_cal_period_id.Value = gCal_Period_Id

Set Prm_balance_type_code = cm.CreateParameter("p_balance_type_code", adVarChar, adParamInput, 1000)
cm.Parameters.Append Prm_balance_type_code
Prm_balance_type_code.Value = gBalance_Type_Code

Set Prm_currency_code = cm.CreateParameter("p_currency_code", adVarChar, adParamInput, 10)
cm.Parameters.Append Prm_currency_code
Prm_currency_code.Value = "UAH"

Set Prm_process_code = cm.CreateParameter("p_process_code", adVarChar, adParamInput, 50)
cm.Parameters.Append Prm_process_code
Prm_process_code.Value = "ALL_RUN_FOR_PERIOD"

Set Prm_category_code = cm.CreateParameter("p_category_code", adVarChar, adParamInput, 1000)
cm.Parameters.Append Prm_category_code
Prm_category_code.Value = gCategory_Code

Set Prm_entry_id = cm.CreateParameter("p_entry_id", adInteger, adParamInputOutput)
cm.Parameters.Append Prm_entry_id

cm.Execute


После этого уходит на ошибку.
Проверяю:

For Each e In cnn.Errors ' cn - это мой ADODB.Connection объект
MsgBox e.Description
Next

ошибка "Недопустимые сведения о привязке".
В чём может быть загвоздка?

Спасибо.
...
Рейтинг: 0 / 0
20.02.2008, 20:12
    #35145758
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка: Недопустимые сведения о привязке
> Автор: ADODB
> Доброго времени суток!
> Помогите, пожалуйста, разобраться.
>
> Имеем:
> Set Prm_x_errbuf = cm.CreateParameter("x_errbuf", adChar,
> adParamOutput, 20000)
> cm.Parameters.Append Prm_x_errbuf
>
> Set Prm_retcode = cm.CreateParameter("x_retcode", adInteger,
> adParamInputOutput)
> cm.Parameters.Append Prm_retcode
> 'Prm_retcode.Value = "0"

> Set Prm_entry_id = cm.CreateParameter("p_entry_id", adInteger,
> adParamInputOutput)
> cm.Parameters.Append Prm_entry_id

> В чём может быть загвоздка?

А правильно указанно направление этих параметров ?
А разрешены именованные параметры?
А правильно, что некоторым параметрам присваивается значение, а некоторый
остаются "сиротами"?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
21.02.2008, 11:31
    #35146745
ADODB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка: Недопустимые сведения о привязке
Игорь, спасибо за наводку, разобрался.

Дело в том, что в процедуре xx_scm_elm_adj.create_elm_entry_header, которую я вызываю, параметры

p_entry_name IN VARCHAR2 DEFAULT NULL,
p_entry_description IN VARCHAR2 DEFAULT NULL,

по умолчанию Null. И в коде VB я их не указал. А это есть не совсем верно. Я сделал присвоение для этих параметров

Prm_entry_name.Value = Null
Prm_entry_description.Value = Null

и всё заработало.

Спасибо еще раз.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка: Недопустимые сведения о привязке / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]