Перейти к содержимому

Логи как инструмент тестировщика
онлайн, начало 21 мая
Автоматизация функционального тестирования
онлайн, начало 25 мая
Управление требованиями
онлайн, начало 25 мая
Школа тест-менеджеров v. 2.0
онлайн, начало 23 мая
Фотография

Как реализовать вызов хранимых процедур в одной сессии


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 Paxitet

Paxitet

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Смирнов Илья

Отправлено 01 Ноябрь 2017 - 08:25

Имеется две хранимые процедуры в базе, отрабатывают они корректно проблем с их вызовом нету, но оказалось что они обе должны вызываться в одной сессии чтобы возвращать нужные данные. То есть после написания SProc.Close(); в функции вызова процедуры следующая не сможет выдать корректные данные тк уже  в другой сессии. А текущая сессия должна быть открыта на протяжении всего времени работы автотеста. Как можно реализовать подобное через    SProc = ADO.CreateADOStoredProc(); не удается.


  • 0

#2 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 192 сообщений
  • ФИО:Алексей

Отправлено 02 Ноябрь 2017 - 05:42

Имеется две хранимые процедуры в базе, отрабатывают они корректно проблем с их вызовом нету, но оказалось что они обе должны вызываться в одной сессии чтобы возвращать нужные данные. То есть после написания SProc.Close(); в функции вызова процедуры следующая не сможет выдать корректные данные тк уже  в другой сессии. А текущая сессия должна быть открыта на протяжении всего времени работы автотеста. Как можно реализовать подобное через    SProc = ADO.CreateADOStoredProc(); не удается.

Сессия - это объект ADOConnection вроде бы. Насколько помню у всех ADO объектов есть свойство connection (get/set). Создавайте его отдельно или переиспользуйте из однажды выполненной процедуры. Proc.Close() возможно в это случае выполнять нельзя (надо смотреть документацию, закрывает ли это соединение с БД).


  • 0

#3 Paxitet

Paxitet

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Смирнов Илья

Отправлено 02 Ноябрь 2017 - 07:15

 

Имеется две хранимые процедуры в базе, отрабатывают они корректно проблем с их вызовом нету, но оказалось что они обе должны вызываться в одной сессии чтобы возвращать нужные данные. То есть после написания SProc.Close(); в функции вызова процедуры следующая не сможет выдать корректные данные тк уже  в другой сессии. А текущая сессия должна быть открыта на протяжении всего времени работы автотеста. Как можно реализовать подобное через    SProc = ADO.CreateADOStoredProc(); не удается.

Сессия - это объект ADOConnection вроде бы. Насколько помню у всех ADO объектов есть свойство connection (get/set). Создавайте его отдельно или переиспользуйте из однажды выполненной процедуры. Proc.Close() возможно в это случае выполнять нельзя (надо смотреть документацию, закрывает ли это соединение с БД).

 

Вот тут загвоздка я пытался так реализовать, но не могу понять как передать созданный connection в мою процедуру потому что в самом tc мало документации и подсказок на эту тему. С БД до этого практически не работал и не углублялся в этой раньше в итоге сейчас и появилась такая проблема :sad:


  • 0

#4 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 192 сообщений
  • ФИО:Алексей

Отправлено 03 Ноябрь 2017 - 06:01

 

 

Имеется две хранимые процедуры в базе, отрабатывают они корректно проблем с их вызовом нету, но оказалось что они обе должны вызываться в одной сессии чтобы возвращать нужные данные. То есть после написания SProc.Close(); в функции вызова процедуры следующая не сможет выдать корректные данные тк уже  в другой сессии. А текущая сессия должна быть открыта на протяжении всего времени работы автотеста. Как можно реализовать подобное через    SProc = ADO.CreateADOStoredProc(); не удается.

Сессия - это объект ADOConnection вроде бы. Насколько помню у всех ADO объектов есть свойство connection (get/set). Создавайте его отдельно или переиспользуйте из однажды выполненной процедуры. Proc.Close() возможно в это случае выполнять нельзя (надо смотреть документацию, закрывает ли это соединение с БД).

 

Вот тут загвоздка я пытался так реализовать, но не могу понять как передать созданный connection в мою процедуру потому что в самом tc мало документации и подсказок на эту тему. С БД до этого практически не работал и не углублялся в этой раньше в итоге сейчас и появилась такая проблема :sad:

 

Я же говорю, что практически у каждого ADO объекта есть свойство Connection. Его можно читать и задавать. У вашего объекта SProc  есть такое свойство точно после выполнения самой процедуры (до выполнения .Close()). Возьмите оттуда и далее просто делайте ADO.CreateADOStoredProc().Connection = myOpenedConnection;


  • 0


Организация автоматизированного тестирования
онлайн, начало 1 июня
Автоматизация функционального тестирования
онлайн, начало 25 мая
Selenium WebDriver: полное руководство
онлайн, начало 15 июня
Школа Тест-Аналитика
онлайн, начало 6 июня



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале