Ⅰ delphi adoquery進度條
我不知道你所謂的「Oracle無效對象」是神馬玩意,但顯示ADOQuery進度是有辦法的。
1、將ADOQuery的ExcuteOption屬性中的eoAsyncFetch設為True,使其能夠觸發非同步消息。
2、在ADOQuery的OnFetchProgress事件里處理進度,進度會顯示在窗體標題上:
procere TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet;
Progress, MaxProgress: Integer; var EventStatus: TEventStatus);
begin
Self.Caption := '完成百分比: ' + IntToStr(Trunc(Progress / MaxProgress * 100)) + '% ';
Application.ProcessMessages;
end;
Ⅱ 如何重編譯ORACLE資料庫的無效對象
一些ORACLE中的進程被殺掉後,狀態被置為"killed",但是鎖定的資源很長時間不釋放,有時實在沒法,只好重啟資料庫。現在提供一種方法解決這種問題,那就是在ORACLE中殺不掉的,在OS一級再殺。1.下面的語句用來查詢哪些對象被鎖:selectobject_name,machine,s.sid,s.serial#fromv$locked_objectl,dba_objectso,v$sessionswherel.object_id=o.object_idandl.session_id=s.sid;2.下面的語句用來殺死一個進程:altersystemkillsession'24,111';(其中24,111分別是上面查詢出的sid,serial#)【注】以上兩步,可以通過Oracle的管理控制台來執行。3.如果利用上面的命令殺死一個進程後,進程狀態被置為"killed",但是鎖定的資源很長時間沒有被釋放,那麼可以在os一級再殺死相應的進程(線程),首先執行下面的語句獲得進程(線程)號:selectspid,osuser,s.programfromv$sessions,v$processpwheres.paddr=p.addrands.sid=24(24是上面的sid)4.在OS上殺死這個進程(線程):1)在unix上,用root身份執行命令:#kill-912345(即第3步查詢出的spid)2)在windows(unix也適用)用orakill殺死線程,orakill是oracle提供的一個可執行命令,語法為:orakillsidthread其中:sid:表示要殺死的進程屬於的實例名thread:是要殺掉的線程號,即第3步查詢出的spid。例:c:>orakillorcl12345
Ⅲ 如何重新編譯PLSQL中的無效對象或者指定的對象
如何重新編譯PLSQL中的無效對象或者指定的對象
打開那個對象(一般都是打叉的過程或者包體,點一下左上角的齒輪執行,編譯通過的話,叉叉會消失)。有一個批量編譯的(我看別人操作過,沒看清界面在哪裡,所以我只能手動逐個編譯)
Ⅳ plsql裡面的編譯無效對象是什麼意思
Oracle中出現無效對象,就是因為在創建函數或存儲過程等,里邊的內容書寫不正確導致。如果要重新編譯,需要先修正錯誤,然後編譯。
工具:Oracle 10g、PL/SQL
步驟:
1、在PL/SQL中打開出現編譯錯誤的函數或存儲過程,這里以存儲過程為例。
2、右鍵點擊該存儲過程,選擇「編輯」。
3、根據錯誤提示,找到錯誤,並修改錯誤。
4、改正錯誤後,點擊左上方的「齒輪」狀按鈕。
5、運行成功後,則該存儲過程就會變為編譯成功的狀態。
Ⅳ oracle 存儲過程無法編譯,刪除,一旦執行該操作PLSQL就會出現未響應
存在無效對象,用plsql菜單中的工具先「編譯無效對象」