討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 討論區最近新進100則主題 手把手帶你Android開發實務
[ 回上頁 ] [ 討論區發言規則 ]
將 Sybase store procedure 的 messages 寫入文字檔
更改我的閱讀文章字型大小
作者 : crlin3(ttttttt) 人氣指數超過30000點
[ 貼文 160 | 人氣 30283 | 評價 0 | 評價/貼文 0 | 送出評價 26 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/25 上午 08:50:57
請教大家, Sybase store procedure 執行時, 會在 messages 視窗有一些 output 訊息,
例如 debug 時 Print 出的訊息......等,
但有時 output 的訊息太多, 在messages 視窗中前面的訊息會不見, 只看到後面的那些訊息,
請問要如何將這些訊息直接寫入一個文字檔保存呢 ? Thanks~
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4465 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/25 上午 09:20:59
http://stackoverflow.com/questions/1264586/how-to-use-the-print-statement-to-track-execution-as-stored-procedure-is-running

maybe it is helpful , are you interested in watching it ?
作者 : crlin3(ttttttt) 人氣指數超過30000點
[ 貼文 160 | 人氣 30283 | 評價 0 | 評價/貼文 0 | 送出評價 26 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/25 上午 10:02:50
謝謝 ozzy123 的回覆, 但這並不是我想要的解答,
我需要的是將訊息 "寫入文字檔" 的方法,
我試過以下兩個方法
1.select * from TableName
    >># d:\test.log
2.SELECT * FROM TableName ; OUTPUT TO 'd:\test.log' FORMAT TEXT APPEND

但以上兩個方式都只能在 Interactive SQL 視窗中有作用, 在 store procedure 中就沒有作用了,
請問還有其他方式可以在 store procedure 中使用的嗎 ? Thanks~
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4465 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/25 上午 10:22:24
我需要的是將訊息 "寫入文字檔" 的方法,
我試過以下兩個方法
1.select * from TableName
    >># d:\test.log
2.SELECT * FROM TableName ; OUTPUT TO 'd:\test.log' FORMAT TEXT APPEND

但以上兩個方式都只能在 Interactive SQL 視窗中有作用, 在 store procedure 中就沒有作用了,
請問還有其他方式可以在 store procedure 中使用的嗎 ? Thanks~

do you mean how to write a table's contents to a log file in SP ?

作者 : crlin3(ttttttt) 人氣指數超過30000點
[ 貼文 160 | 人氣 30283 | 評價 0 | 評價/貼文 0 | 送出評價 26 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/25 下午 12:11:25
剛剛又測試一次, 發現那兩個方式只能用在 write a table's contents to a log file
若是用 Print 'xxx' 產生的訊息就不管用了
我需要的是在 store procedure 中 Print 訊息, 但要把這些Print出的訊息寫到 log file 中, 而不是只 show 在下方的 Messages 視窗中
Thanks~
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4465 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/25 下午 01:10:33
>請教大家, Sybase store procedure 執行時, 會在 messages 視窗有一些 output 訊息,
>例如 debug 時 Print 出的訊息......等,
---- do you mean how to store those debugging messages without "print" function ? if so , you may refer to RAISERROR - http://msdn.microsoft.com/zh-tw/library/ms178592.aspx , using it in TranSQL
http://datacentricity.net/2010/12/making-raiserror-work-like-print/ ----> how to use RAISERROR as print
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36272.1570/html/commands/X60573.htm
---- Sybase SP's RAISERROR API ,
it can store those messages in an application log file .
>但有時 output 的訊息太多, 在messages 視窗中前面的訊息會不見, 只看到後面的那些訊息,
>請問要如何將這些訊息直接寫入一個文字檔保存呢 ? Thanks~
作者 : crlin3(ttttttt) 人氣指數超過30000點
[ 貼文 160 | 人氣 30283 | 評價 0 | 評價/貼文 0 | 送出評價 26 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/26 上午 10:24:58
謝謝 ozzy123 提供的資訊,
我仿照文章中的方式,
先在 Interactive SQL 中執行
     sp_addmessage 25003,'%1!'
然後在我的 store procedure 中加上這一行
     set @errMsg = "raiserror 25003 Test"
     raiserror 25003 ,@errMsg

但跑到 raiserror 這一行就出現以下訊息
Could not execute statement.
JZ0CU: getUpdateCount can only be called once after a successful call to getMore Result,
or execute methods.
SQLCODE=0, ODBC 3 State="JZ0CU"


我的 Sybase Central 版本是 6.0
請教一下是否 6.0 版的 raiserror 的語法格式有差別嗎 ?
Thanks~
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4465 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/26 上午 10:44:31
http://manuals.sybase.com/onlinebooks/group-jcarc/jcg0520e/prjdbc/@Generic__BookTextView/9513

you got an exception ID. JZ0CU
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc39001.0700/html/prjdbc0700/CHDGJJIG.htm

basically, an exception has been occurred .

作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4465 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/26 下午 01:10:47
http://www.xyzws.com/Javafaq/how-to-use-methods-getresultset-or-getupdatecount-to-retrieve-the-results/175

what kind of programming language did you contact DB ? java ? If so, the message might tell you the method has got some troubles. you may refer their usages.
作者 : crlin3(ttttttt) 人氣指數超過30000點
[ 貼文 160 | 人氣 30283 | 評價 0 | 評價/貼文 0 | 送出評價 26 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/26 下午 03:31:54
剛又測試的結果, 這個 Exception 的確是我 raise 的 error,
但這並不是我想請教的問題(又弄錯方向了...)
我想請教的是, 舉個例來說
假設我的 store procedure 會跑10000筆data,
跑完第一筆data, 就會 Print "第1筆 data OK"
跑完第二筆data, 就會 Print "第2筆 data OK"
......依此類推
到全部的 data 跑完, 應該會有 10000行 Print 出的訊息
這些訊息預設是 show 在 Results 視窗的 Messages 頁籤中
但 Messages 頁籤只能容納1000行訊息,
所以前面9000行訊息都不見了,
現在我想要讓store procedure 在執行時, 把這些(10000行)訊息全部完整的寫到一個文字檔(log.txt)中,
請問這要如何辦到呢?
Thanks
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4465 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人crlin3註記此篇回應為最佳解答 2014/3/26 下午 04:12:56
http://www.drdobbs.com/database/debugging-mysql-stored-procedures/218100564?pgno=2
http://stackoverflow.com/questions/3314771/print-debugging-info-from-stored-procedure-in-mysql

above are some ways for you reference , check it out :-) more google , more fun
作者 : crlin3(ttttttt) 人氣指數超過30000點
[ 貼文 160 | 人氣 30283 | 評價 0 | 評價/貼文 0 | 送出評價 26 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/27 上午 08:56:35
謝謝 ozzy123 的指點, 目前己用寫入 temp table 再讀出的方法解決了這個問題~
 板主 : 徵求中
 > 資料庫設計與應用 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 資料庫設計與應用 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
資料庫設計與應用
1 ㄉ一ˊㄎㄜˋ 350 
2 好說 120 
3 BlueTulip 110 
4 老芋仔 90 
5 坤哥 80 
6 cnliou 80 
7 小朱 60 
8 HKLN.net 60 
9 小元元 60 
10 Aries 50 
資料庫設計與應用
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875