Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
DimonCN
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 27
1

Люди, нужна ваша помощь. Вопрос по взаимодействию асп и sql

25.04.2012, 13:30. Просмотров 993. Ответов 9
Метки нет (Все метки)


Подскажите, как быть в данной ситуации: из асп запускается хранимая процедура, её обработка видеться довольно долго. Как сделать, так что бы асп не падал, а ждал окончания обработки.

Пробовал server.timeout не помогает…

Спасибо
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2012, 13:30
Ответы с готовыми решениями:

Добрые люди! Очень нужна Ваша помощь!
У меня такая проблема. В 1С 7.7 Торговля+Склад нужно добавить колонку Штрих-кодов в справочник...

Уважаемые люди нужна ваша подсказка:(
Помогите плиз:( не получается форму создать.( Подскажите.... Заранее большое человеческое...

Нужна ваша помощь
Простите я тут первый раз!!!как закинуть пустой .txt файл на корневой каталог сайта?

Нужна помощь ваша
Ребята через два дня экзамен помогите пожалуста решить задачи. 1.Составить программу на языке...

Нужна Ваша помощь...
ПОмоги написать программу в которой будет выводится окно и в нем будет меню в котором будет пункт...

9
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
25.04.2012, 18:19 2
Возможно тебе эта статья поможет - http://www.aspfaq.com/show.asp?id=2194
0
DimonCN
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 27
26.04.2012, 11:58  [ТС] 3
Спасибо, думаю да...
0
DimonCN
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 27
26.04.2012, 13:59  [ТС] 4
Возникает вопрос, в одной из статей указывается как запустить объект MSMQ.MSMQQueueInfo
----

1. Open the Computer Management application via Start->Settings->Control Panel->AdministrativeTools->Computer Management
2. Expand Services and Applications
3.Expand Message Queuing
4.Right-click on Public Queues
5.Select New->Public Queue from the context menu
6.Enter aspexe in the Name box and leave the Transactional checkbox clear
7.Click OK
8.Expand Public Queues
9.Right-click on aspexe and select Properties from the context menu
10.Select the Security tab.
11.For simplicity's sake select Everyone from the list of users and check the Allow box for Full Control
12.Click OK
-----

Дойдя до второго ветку Message Queuing я у себя не нашел, может поможите разобраться...
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
26.04.2012, 14:06 5
Перед использованием Message Queue надо его установить его сначала. Этот компонент Windows не ставится по умолчанию. Установку можно сделать через апплет Add/Remove programs. И, насколько я понимаю, для этого нужна серверная операционка Windows 2000 Server или Windows Server 2003.
0
DimonCN
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 27
26.04.2012, 14:20  [ТС] 6
я это уже понял...
0
DimonCN
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 27
26.04.2012, 16:51  [ТС] 7
Я решил пойти методом, когда задается асинхронизация в строке выполнения , что то типа

ADOкоманда.Execute " exec хранимая", , 16

Минус в том, что коннект нельзя закрывать.
И еще столкнулся с тем, как мне получить флаг что процесс выполнения завершен?
0
DimonCN
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 27
26.04.2012, 16:55  [ТС] 8
вот типа что то

Dim cn
set cn=server.createobject("adodb.connection")
cn.connectionstring="provider=sqloledb;data source=zz;" & _
"initial catalog=bb;user id=sa;password=qwerty"
cn.open
cn.execute "exec proc", , 16

response.write "Hello..."
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
26.04.2012, 17:52 9
Стандартного способа для ASP нет, вроде. Можно попробовать такой вариант. Создаем таблицу
CREATE TABLE asyncJobs
(
iAsyncJob_ID int IDENTITY (1,1) PRIMARY KEY,
dtBegin datetime NOT NULL DEFAULT (getdate()),
dtEnd datetime NULL,
)
Перед вызовом долго работающей процедуры вставляем строку в таблицу asyncJobs, id новой строки передаем этой процедуре и запускаем ее асинхронное выполнение. В конце работы процедура обновляет поле dtEnd в таблице asyncJobs для переданного ей id. Соответственно признаком завершения задачи будет наличие записи в таблице asyncJobs с ненулевым полем dtEnd.

Чтобы клиент мог отслеживать состояние задачи ему придется переодически выполнять обновление страницы которая "знает" id запущенной задачи. Это можно автоматизировать с помощью директивы
<meta http-equiv="refresh" content="интервал_в_секундах

Чтобы пользователи не могли перебирать id задачи то есть не следили за чужими задачами колонке iAsyncJob_ID можно указать тип uniqueidentifier.

И еще, надеюсь что вызов процедуры от имени администратора ты только для примера привел? Это плохая практика и потенциально опасно. Работать надо с учетной записью имеющей минимально необходимые привилегии.
0
DimonCN
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 27
26.04.2012, 19:13  [ТС] 10
Цитата Сообщение от bazile
Стандартного способа для ASP нет, вроде. Можно попробовать такой вариант. Создаем таблицу
CREATE TABLE asyncJobs
(
iAsyncJob_ID int IDENTITY (1,1) PRIMARY KEY,
dtBegin datetime NOT NULL DEFAULT (getdate()),
dtEnd datetime NULL,
)
Перед вызовом долго работающей процедуры вставляем строку в таблицу asyncJobs, id новой строки передаем этой процедуре и запускаем ее асинхронное выполнение. В конце работы процедура обновляет поле dtEnd в таблице asyncJobs для переданного ей id. Соответственно признаком завершения задачи будет наличие записи в таблице asyncJobs с ненулевым полем dtEnd.

Чтобы клиент мог отслеживать состояние задачи ему придется переодически выполнять обновление страницы которая "знает" id запущенной задачи. Это можно автоматизировать с помощью директивы
<meta http-equiv="refresh" content="интервал_в_секундах

Чтобы пользователи не могли перебирать id задачи то есть не следили за чужими задачами колонке iAsyncJob_ID можно указать тип uniqueidentifier.

И еще, надеюсь что вызов процедуры от имени администратора ты только для примера привел? Это плохая практика и потенциально опасно. Работать надо с учетной записью имеющей минимально необходимые привилегии.
Спасибо за совет...

Очень благодарен
0
26.04.2012, 19:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2012, 19:13

Нужна ваша помощь!
Всем здрасьте! очень надеюсь на вашу помощь. Дело в следующем: недавно заметил, что в яндексе...

Нужна ваша помощь
Intro Идея создать свой сайт появилась со времен покупки модема. Время шло, «чайнеческий»...

НУЖНА ВАША ПОМОЩЬ
Помогите пожалуйста. Есть задание - надо создать 2 таблицы и поставить связь между ними в Access,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru