Я пишу вам на этот раз, потому что VBScript, который одно из приложений моей компании использует для извлечения информации из базы данных Oracle, похоже, не работает должным образом.Вот факты:
Часть кода, которая выполняет следующее:
sSql = "SELECT REQ_PAYMODE" & _
" FROM SYSADM.GBPRESTATIEGROEP" & _
" WHERE 1=1" & _
" AND SLEUTEL = " & sKeyPrestatiegroep
Set oRSGBPrest = connADO.execute(sSql)
If Not oRSGBPrest.EOF Then
sRequestPaymodeKey = oRSGBPrest("REQ_PAYMODE")
Else
//error handling
End If
ИспользованиеТрассировка операторов для Oracle (www.aboves.com) Я могу записать этот же оператор с соответствующим значением:
SELECT REQ_PAYMODE FROM SYSADM.GBPRESTATIEGROEP, ГДЕ 1 = 1 И SLEUTEL = 1572499
Теперь VBScript должен принять это значение и выполнить другой запрос:
sSql = "SELECT PAM_CODE" & _
" FROM SYSADM.PAYMODES" & _
" WHERE 1=1" & _
" AND PAM_KEY = " & sRequestPaymodeKey
Set oRSPaymodes = connADO.execute(sSql)
Прямо в этом последнемВ строке кода скрипт выдает ошибку:
ORA-00936: отсутствует выражение в строке XXX -> Установить oRSPaymodes = connADO.execute (sSql) <- </strong>
Это в основном означает, что запрос в (3) является неправильным, что также означает, что по какой-то причине sRequestPaymodeKey пуст.Я не могу сказать это наверняка, потому что этот ошибочный оператор SQL не появляется в трассировщике операторов, но это единственное объяснение, которое я смог найти.Тем не менее, худшая часть заключается в том, что при выполнении запроса (2) на SQLDeveloper (отсюда и значение sRequestPaymodeKey ) он показывает строку со значением, отличным от нуля или нуля.
Я не могу думать ни о чем другом, что могло бы происходить здесь, может быть, это просто серверная вещь ... понятия не имею.
Любые предложения от вас, ребята?Есть ли способ отладки VBE-файла?
Ваша помощь очень ценится!