m*****g 发帖数: 138 | 1 假如一个Stored Procedure有很多步,有很多数据需要处理,需要运行很长时间
我如何让它运行时返回一些有用信息给用户,
告诉用户正在处理什么数据,正在运行哪一步
而我另外的程序,比如说C#.NET(Win form)可以抓住这些信息
实时显示给用户
谢谢 |
q**1 发帖数: 193 | 2 你这个是不是涉及到buffer flush的问题,应该有相关的设置
【在 m*****g 的大作中提到】 : 假如一个Stored Procedure有很多步,有很多数据需要处理,需要运行很长时间 : 我如何让它运行时返回一些有用信息给用户, : 告诉用户正在处理什么数据,正在运行哪一步 : 而我另外的程序,比如说C#.NET(Win form)可以抓住这些信息 : 实时显示给用户 : 谢谢
|
w*r 发帖数: 2421 | 3 基本没戏, 有些RDBMS每个连接就是一个 instance,基本没有RDBMS提供API可以把
instance里面的 step info抓出来. |
a*******t 发帖数: 891 | 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)可以抓住这些信息 : 实时显示给用户 : 谢谢
|
s**o 发帖数: 584 | 5 If you are using Oracle, try DBMS Alert or DBMS Scheduler.
【在 m*****g 的大作中提到】 : 假如一个Stored Procedure有很多步,有很多数据需要处理,需要运行很长时间 : 我如何让它运行时返回一些有用信息给用户, : 告诉用户正在处理什么数据,正在运行哪一步 : 而我另外的程序,比如说C#.NET(Win form)可以抓住这些信息 : 实时显示给用户 : 谢谢
|
x***e 发帖数: 2449 | 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)可以抓住这些信息 : 实时显示给用户 : 谢谢
|