powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Type Mismatch
8 сообщений из 8, страница 1 из 1
Type Mismatch
    #34490792
Тал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Существует хранимая процедура с такой шапкой:
CREATE OR REPLACE PROCEDURE SCORE_ATM_RGB
(P_PACT_ID IN VARCHAR2, P_CON_ID IN VARCHAR2, P_SCORERESULT_ID OUT VARCHAR2)


Из сторонней программы (Oracle Siebel CRM) через ADODB происходит ее вызов (VB):

<....>
Set conn = CreateObject("ADODB.Connection")
conn.Open connStr

Set oCmd = CreateObject("ADODB.Command")

With oCmd

Set .ActiveConnection = conn
.CommandText = "{call siebel.SCORE_ATM_RGB(?, ?, ?)}"
.Parameters.Append .CreateParameter("P_PACT_ID", 200, 1, 45, Script.GetParameter ("AgrId"))
.Parameters.Append .CreateParameter("P_CON_ID", 200, 1, 45,"")
.Parameters.Append .CreateParameter("P_SCORERESULT_ID", 200, 2, 10)
.Execute

End With

<...>


Далее, происходит следующее присвоение:

strScoreResId = Trim(oCmd("P_SCORERESULT_ID"))

(переменная strScoreResId объявлена как Dim strScoreResId as String )

На этом присваивании возникает ошибка
Scripting language error 13 occurred at line 46 in procedure 'Question_Enter' of SmartScriptQuestion [SPK_IncommingCall.Scoring]:
Type mismatch


БД ORACLE 8

Подскажите, плз, с чем это может быть связано
...
Рейтинг: 0 / 0
Type Mismatch
    #34490925
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все просто, вот такой синтаксис
oCmd("P_SCORERESULT_ID") возвращает не значение параметра а сам парамтр т.е. обьект типа Parameter и естественно он не может быт« приведен к типу String.

Нужно использовать Trim$(oCmd("P_SCORERESULT_ID").Value)


Magnus
...
Рейтинг: 0 / 0
Type Mismatch
    #34490952
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм.. прошу прощения, поспешил. В данном случае должно читаться свойство по умолчанию параметра, которым и является Value.

В самой хранимке результаты правильных форматов?


Magnus
...
Рейтинг: 0 / 0
Type Mismatch
    #34491128
Тал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, в процедуре всё верно.
...
Рейтинг: 0 / 0
Type Mismatch
    #34491145
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весьма странно.
A если обьявить переменную как Variant что она содержит?


Magnus
...
Рейтинг: 0 / 0
Type Mismatch
    #34494480
Тал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашёл источник проблемы. Оказывается, P_SCORERESULT_ID была NULL и его не получалось преобразовать в строку. Спасибо за участие.
...
Рейтинг: 0 / 0
Type Mismatch
    #34494684
Шкураев Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С зибелем работаешь?
...
Рейтинг: 0 / 0
Type Mismatch
    #34495748
Тал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Type Mismatch
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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