Автор Тема: Как принудительно закрыть ADO соединение.  (Прочитано 3900 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sergiucz

  • Newbie
  • *
  • Сообщений: 69
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYears
Добрый день господа гуру.
ПРи соединение через АДО,соединение окрывается и вивсит на сервере открытым даже после  завершение программы .
 И закрывается тогда когда выдоишь с сап логона.
Как с этим боротся?


Код: You are not allowed to view links. Register or Login
CREATE OBJECT adoconnect 'ADODB.Connection'.
  CREATE OBJECT adors 'ADODB.RecordSet'.
  init = initstr.
  SET PROPERTY OF adoconnect 'ConnectionString' = init.
  CALL METHOD OF adoconnect 'Open'.
  SET PROPERTY OF adors 'CursorType' = 3.
  SET PROPERTY OF adors 'LockType' = 1.
  SET PROPERTY OF adors 'ActiveConnection' = adoconnect.
  CALL METHOD OF adors 'Open'
         EXPORTING
                 #1 = sql.
  GET PROPERTY OF adors 'EOF' = eof.
  REFRESH intab_db.
  ASSIGN ('intab_db[]') TO <fs_int>.
  ASSIGN ('fc[]') TO <fs_tab>.
  CREATE DATA dref LIKE intab_db.
  ASSIGN dref->* TO <fs_ref>.
  <fs_ref> = intab_db.
  WHILE eof = '0'.
    LOOP AT <fs_tab> ASSIGNING <fs_line>.
      field_name = <fs_line>-fieldname.
      CALL METHOD OF adors 'fields' = adofield
            EXPORTING
              #1 = field_name.
      GET PROPERTY OF adofield 'Value' = value.
      ASSIGN COMPONENT field_name OF STRUCTURE <fs_ref> TO <fs>.
      <fs> = value.
    ENDLOOP.
    APPEND <fs_ref> TO intab_db.
    FREE adofield.
    CALL METHOD OF adors 'MoveNext'.
    GET PROPERTY OF adors 'EOF' = eof.
  ENDWHILE.

UNASSIGN <fs_tab>.
  UNASSIGN <fs_int>.
  FREE adoconnect.
  FREE adofield.
  FREE adors.
Заранее благодарен!!
« Последнее редактирование: Март 05, 2013, 09:58:44 am от sergiucz »
Жизнь - это программа , найти бы debugger к ней :)

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Как принудительно закрыть ADO соединение.
« Ответ #1 : Март 05, 2013, 11:59:51 am »
You are not allowed to view links. Register or Login
Код: You are not allowed to view links. Register or Login
  FREE adoconnect.
  FREE adofield.
  FREE adors.
Может это использовать надо: FREE OBJECT

Оффлайн sergiucz

  • Newbie
  • *
  • Сообщений: 69
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYears
Re: Как принудительно закрыть ADO соединение.
« Ответ #2 : Март 06, 2013, 03:27:42 pm »
You are not allowed to view links. Register or Login
Может это использовать надо: FREE OBJECT

Пробовал и так не помогает  :-[  :-[

реально после закрытия сап логона  отрубается конект.  ПРи закрытия программы, режима,  конекты остаются висячими. :o
« Последнее редактирование: Март 06, 2013, 03:34:30 pm от sergiucz »
Жизнь - это программа , найти бы debugger к ней :)

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Как принудительно закрыть ADO соединение.
« Ответ #3 : Март 06, 2013, 03:39:39 pm »
You are not allowed to view links. Register or Login
Пробовал и так не помогает  :-[  :-[

реально после закрытия сап логона  отрубается конект.  ПРи закрытия программы, режима,  конекты остаются висячими. :o
К примеру вот метод: CALL METHOD OF adoconnect 'Open'. А вот метода CLOSE для конекта не вижу.

Оффлайн sergiucz

  • Newbie
  • *
  • Сообщений: 69
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYears
Re: Как принудительно закрыть ADO соединение.
« Ответ #4 : Март 07, 2013, 10:32:31 am »
You are not allowed to view links. Register or Login
К примеру вот метод: CALL METHOD OF adoconnect 'Open'. А вот метода CLOSE для конекта не вижу.

Как всегда ты прав. Забыл закрыть :)) Спасибо заработало :)))
Жизнь - это программа , найти бы debugger к ней :)