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

Тестирование веб-приложений 2.0
онлайн, начало 25 января
Тестирование REST API
онлайн, начало 28 января
SQL для тестировщиков
онлайн, начало 28 января
Техники локализации плавающих дефектов
онлайн, начало 28 января
Фотография

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


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

#1 Paxitet

Paxitet

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

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

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

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


  • 0

#2 Alex

Alex

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

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

Отправлено 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
  • 225 сообщений
  • ФИО:Алексей

Отправлено 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


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



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

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

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