Redian新闻
>
如何从一个Stored Procedure中实时返回运行信息
avatar
如何从一个Stored Procedure中实时返回运行信息# Database - 数据库
m*g
1
假如一个Stored Procedure有很多步,有很多数据需要处理,需要运行很长时间
我如何让它运行时返回一些有用信息给用户,
告诉用户正在处理什么数据,正在运行哪一步
而我另外的程序,比如说C#.NET(Win form)可以抓住这些信息
实时显示给用户
谢谢
avatar
q*1
2
你这个是不是涉及到buffer flush的问题,应该有相关的设置

【在 m*****g 的大作中提到】
: 假如一个Stored Procedure有很多步,有很多数据需要处理,需要运行很长时间
: 我如何让它运行时返回一些有用信息给用户,
: 告诉用户正在处理什么数据,正在运行哪一步
: 而我另外的程序,比如说C#.NET(Win form)可以抓住这些信息
: 实时显示给用户
: 谢谢

avatar
w*r
3
基本没戏, 有些RDBMS每个连接就是一个 instance,基本没有RDBMS提供API可以把
instance里面的 step info抓出来.
avatar
a*t
4
write to a "message" table. c# scans that tables ever second. hoho
not sure, just an idea

【在 m*****g 的大作中提到】
: 假如一个Stored Procedure有很多步,有很多数据需要处理,需要运行很长时间
: 我如何让它运行时返回一些有用信息给用户,
: 告诉用户正在处理什么数据,正在运行哪一步
: 而我另外的程序,比如说C#.NET(Win form)可以抓住这些信息
: 实时显示给用户
: 谢谢

avatar
s*o
5
If you are using Oracle, try DBMS Alert or DBMS Scheduler.

【在 m*****g 的大作中提到】
: 假如一个Stored Procedure有很多步,有很多数据需要处理,需要运行很长时间
: 我如何让它运行时返回一些有用信息给用户,
: 告诉用户正在处理什么数据,正在运行哪一步
: 而我另外的程序,比如说C#.NET(Win form)可以抓住这些信息
: 实时显示给用户
: 谢谢

avatar
x*e
6
In SQL server:
1) default way
Build a meta table stores the information you want.
Write logging stored procedured inside your stored procedure to provide
detailed logging.
Run another job at the same time or use DTS/SSIS to scan the meta table and
logging, then send you an result email once a while or after certain steps
etc.
All can be done just inside the SQL server. no extra c# is required.
2) easy way
just email out the temp result directly with the sp_send_cdosysmail stored
procedure with i

【在 m*****g 的大作中提到】
: 假如一个Stored Procedure有很多步,有很多数据需要处理,需要运行很长时间
: 我如何让它运行时返回一些有用信息给用户,
: 告诉用户正在处理什么数据,正在运行哪一步
: 而我另外的程序,比如说C#.NET(Win form)可以抓住这些信息
: 实时显示给用户
: 谢谢

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。