Dbcresultset.execprocedure - Еррор

Тема в разделе "Lotus - Программирование", создана пользователем morpheus, 11 мар 2010.

  1. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Доброе всем

    Ситуация:
    Сервер 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 обьектов
     
  2. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    попробуй дату передать как строку:

    Call sqlResSet.ExecProcedure( "dbo.proc", Format$(s0, "yyyymmdd"), Clng(s2), s1, s3 )
     
  3. RonTermit

    RonTermit Гость

    Для работы с датой и временем в запросе нуно использовать 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 )
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
  5. Klido

    Klido Гость

    Morpheus
    ну вообще-то больше вариантов по
    http://www.google.com.ua/search?source=ig&...mp;aq=f&oq=

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

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

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
Загрузка...
Похожие Темы - Dbcresultset execprocedure Еррор
  1. Anatoly
    Ответов:
    10
    Просмотров:
    3.379
  2. Miolnir
    Ответов:
    1
    Просмотров:
    1.635

Поделиться этой страницей