Store Procedure問題? |
答題得分者是:st33chen
|
lasterliu
一般會員 發表:38 回覆:57 積分:19 註冊:2007-11-05 發送簡訊給我 |
|
只差一步
一般會員 發表:3 回覆:8 積分:7 註冊:2006-12-14 發送簡訊給我 |
who can guess the content of 'TEST.dbo.sp_A' ?
===================引 用 lasterliu 文 章=================== 請教各位大大: 小弟想詢問各位大大一個問題,就是有辦法擷取SP中程式碼的內容嗎? 如: [code delphi] ADOQuery1.SQL.Add('TEST.dbo.sp_A'); ADOQuery1.ExecSQL; ADOQuery1.Open; [/code] 想請問若執行這某個SP後,我有辦法取得SP中程式碼的內容嗎? 如問題有描述不周的地方,煩請告知小弟,謝謝~~ |
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
|
lasterliu
一般會員 發表:38 回覆:57 積分:19 註冊:2007-11-05 發送簡訊給我 |
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
我常用 oracle, mysql oracle 有一個 table 存每個 stored procedure 及 stored function 的 每一列 (create procedure 或 create function 時的) 原始碼 我曾寫過 給 procedure 或 function 名取其原始碼的 delphi 程式, (但要找一下, 忘了放哪裡) mysql 部份則沒研究過這個問題. mssql 更是莫宰羊. ================================================== 修改1 : mysql 5.1.3 後有一個 SHOW PROCEDURE CODE 可用 5.1.21 後有一個 SHOW CREATE PROCEDURE 可用 還沒試過可否在程式中用 ================================================== 修改2 : 經實測, SHOW PROCEDURE CODE 不可以用; SHOW CREATE PROCEDURE 可以用, 結果中的 create function 欄位為一字串, 內容不只是 procedure 的原始碼而已, 需要自行解析該字串; ================================================== 修改3: mssql 的話, 我找到一篇, 沒仔細研究, 只 glance 了一下, 應該有您要的答案, http://www.motobit.com/tips/detpg_sql-find-text-stored-procedure/ =================================================== 修改4: ms sql 另一篇 http://bytes.com/groups/ms-sql/144293-getting-stored-procedures-code
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
lasterliu
一般會員 發表:38 回覆:57 積分:19 註冊:2007-11-05 發送簡訊給我 |
謝謝 st33chen 大大的資料,小弟看完後是使用 sp_helptext 預存程序,但是在SQL中使用是OK的,
但是在DELPHI中就會有錯誤,可以煩請大大指導一下嘛? [code delphi] ADOQuery1.Close; ADOQuery1.SQL.Text:='sp_helptext :P1'; ADOQuery1.Parameters.ParamValues['P1']:='DB.dbo.sp_A'; ADOQuery1.ExecSQL; [/code] 錯誤訊息為:物件限定詞的資料庫名稱元件必須是目前資料庫的名稱 ===================================================================================== st33chen大大,後來小弟改用另一篇文章中的方法,可以解決我的問題了。 使用 find_text_in_sp 此SP,傳欲查詢的字串與DBNAME即可以找出SP中的內容(文章中有範例喔!!)。 find_text_in_sp 此為自己造的程序,程式碼在大大中的文章有PO。 st33chen大大謝謝您的解答。 至於上面的問題(錯誤訊息為:物件限定詞的資料庫名稱元件必須是目前資料庫的名稱), 若有大大知道,可以跟小弟指點迷津一下嗎?謝謝~~ |
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
mssql 的話我比您還菜. (因為不喜歡m$)
可能要勞駕 careychen 大大或其他高手了. 不過, 在此之前您可以試一下 adocommand 看看 因為我沒 mssql 環境, 無法試. pai-sei la. ========================================= (唉. 為了生存, 打算安裝 vs2008 express 玩看看) ========================================= 等一下, 假如是 訊息為:物件限定詞的資料庫名稱元件必須是目前資料庫的名稱 可否用一個 adoconnection 指定 mssql 中的 database name 而 adoquery 的參數只傳入 sp 名
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |