我想展示长时间运行jdbc查询的过程。这可能吗?
如果查询的总结果是100条记录,并且一次检索10条记录,那么在检索前10条记录后,是否可以知道剩余的90%?
提前致谢
答案 0 :(得分:0)
尝试将进度条减少10,这应该可以解决问题
//something like that
if (progressBar1.Value < progressBar1.Maximum - 1)
{
progressBar1.Increment(2);
progressBar1.Increment(-1);
}
答案 1 :(得分:0)
我找到了这段代码。这可能很好用
SELECT r.session_id,r.command,CONVERT(NUMERIC(6,2),r.percent_complete) AS [完成百分比],CONVERT(VARCHAR(20),DATEADD(ms,r.estimated_completion_time,GetDate()),20)AS [ETA完成时间], CONVERT(NUMERIC(10,2),r.total_elapsed_time / 1000.0 / 60.0)AS [Elapsed Min], CONVERT(NUMERIC(10,2),r.estimated_completion_time / 1000.0 / 60.0)AS [ETA Min], CONVERT(NUMERIC(10,2),r.estimated_completion_time / 1000.0 / 60.0 / 60.0)AS [ETA Hours], CONVERT(VARCHAR(1000),(SELECT SUBSTRING(text,r.statement_start_offset / 2, 例如r.statement_end_offset = -1那么1000 ELSE(r.statement_end_offset-r.statement_start_offset)/ 2 END) FROM sys.dm_exec_sql_text(sql_handle))) FROM sys.dm_exec_requests r WHERE命令IN('RESTORE DATABASE','BACKUP DATABASE')