Dbcresultset.execprocedure - Еррор

  • Автор темы Автор темы morpheus
  • Дата начала Дата начала
M

morpheus

Доброе всем

Ситуация:
Сервер 8.5 + Винда 2003 (х64 СП2)
есть ODBC соединение с SQL сервером

при работе с класами ODBCConnection(соеденил) + ODBCQuery(написал селект) + ODBCResultSet(экзекьюютил и получил рекордсет) - работает отлично

при работе с класами ODBCConnection(соеденил) + ODBCResultSet(экзекьюютил хранимую процедуру ) - не работает.

заголовок процедуры
<!--shcode--><pre><code class='vb'>CREATE procedure dbo.proc
(
@ad_case datetime,
@ai_nagr int,
@as_form nvarchar(15),
@as_object nvarchar(15)
)[/CODE]

пример вызова от разработчика
<!--shcode--><pre><code class='vb'>exec dbo.proc '20060410', 55, 'QQQ', '096289'[/CODE]

вызываю
<!--shcode--><pre><code class='vb'>Call sqlResSet.ExecProcedure( "dbo.proc", CDbl(s0), Clng(s2), s1, s3 )[/CODE]
или так
<!--shcode--><pre><code class='vb'>Dim z(3) As Variant
z(0) = Clng( s0 ) ' sSQLStr
z(1) = Clng( s2 )
z(2) = s1
z(3) = s3
Call sqlResSet.ExecProcedure( "proc", DB_PARAM_ARRAY, z )[/CODE]

выдаёт ошибку 720 - LS:DO - ODBC could not complete the requested operation
НАсколько я понимаю ошибка в параметре даты
Как можно нормально передать дататайм в этот ппииии SQL ???

Добавлено: з.ы. процедура рабочая. проверено при использовании OLE обьектов
 
НАсколько я понимаю ошибка в параметре даты
Как можно нормально передать дататайм в этот ппииии SQL ???

Добавлено: з.ы. процедура рабочая. проверено при использовании OLE обьектов

попробуй дату передать как строку:

Call sqlResSet.ExecProcedure( "dbo.proc", Format$(s0, "yyyymmdd"), Clng(s2), s1, s3 )
 
выдаёт ошибку 720 - LS:DO - ODBC could not complete the requested operation
НАсколько я понимаю ошибка в параметре даты
Как можно нормально передать дататайм в этот ппииии SQL ???

Добавлено: з.ы. процедура рабочая. проверено при использовании OLE обьектов
Для работы с датой и временем в запросе нуно использовать Cast...по другому у меня не получалось ...
Cast('" & Cstr(Year(docTempApp.GetItemValue("InCard_RgDate")(0))) & "-" & _
Cstr(Month(docTempApp.GetItemValue("InCard_RgDate")(0))) & "-" & _
Cstr(Day(docTempApp.GetItemValue("InCard_RgDate")(0))) & " 00:00:00.00' as timestamp )
 
спасибо, не помогло... ни так ни сяк, пока воть только нашёл
 
Morpheus
ну вообще-то больше вариантов по


там на expert-exchange такой прямо впорос, только не могу глянуть - закрыто в офисе...

и даже ToxaRat (линк внизу на 1-й странице) поднимал вопрос недавно - ему там про 64-битку пытались помочь...
 
может jdbc и здесь покопаться
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!