討論區快速選單
知識庫快速選單
想要資料分析就學Python 最紅的App開發語言:Kotlin 政府補助!學嵌入式+物聯網
[ 回上頁 ] [ 討論區發言規則 ]
請問如何縮短呼叫CDatabase的OpenEx後的回應時間
更改我的閱讀文章字型大小
作者 : rabies(星)
[ 貼文 11 | 人氣 682 | 評價 20 | 評價/貼文 1.82 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/3/22 下午 01:56:25
使用CDatabase連結資料庫時, 以SQL Server為例, 若SQL Server為Pause狀態, 呼叫OpenEx()後, 馬上會有CDBException丟出來, 但是若SQL Server為Stopped狀態, 則一定要等個15~20秒才會有例外丟出來, 原本想使用SetLoginTimeout來縮短時間, 但是沒有作用(應該是還沒到Login的階段吧), 不知道要怎麼樣縮短判斷Data Source狀態的時間呢? 謝謝~
作者 : rabies(星)
[ 貼文 11 | 人氣 682 | 評價 20 | 評價/貼文 1.82 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/3/27 上午 10:38:19
再把問題描述一遍~請各位有類似經驗的大大幫忙囉~
以連線SQL Server為例, 若是網路斷線或是SQL Server服務沒有開的狀況下,
用CDabase::OpenEx()去連結資料庫,
會有15~20秒的等待時間才會得到CDBException, 是否可以縮短這個時間呢?
用CDatabase::SetLoginTimeout()沒有作用,
用SQLSetConnectAttr設定SQL_ATTR_CONNECTION_TIMEOUT也沒有作用~謝謝各位~
作者 : yishiang0217(奕翔)
[ 貼文 134 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/11/23 下午 06:35:00
不好意思,我也遇到同樣的問題,請問您是如何解決的呢?
謝謝您。
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4466 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/11/23 下午 10:04:09
http://m.fx114.net/qa-219-20673.aspx
seeing this post for debugging
作者 : yishiang0217(奕翔)
[ 貼文 134 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/11/24 下午 07:34:38
o大您好,

首先,謝謝您的回覆,這篇文章先前我找到過。

如果用ping的方式的話,會有個問題就是..ping的到電腦也不代表該電腦有裝SQL Server。

我嘗試修改過connection string後發現,只有在該台電腦無SQL Server的情況時,才會發生15~20秒才丟例外,

而帳號、密碼甚至是資料庫名稱錯誤都是立即返還。

雖說ip提供錯誤及電腦未啟動的情形在極少數狀況下可能會發生,

但其實還是希望能合理的結束程式。

p.s. 若是在UI開啟後,又IP位址錯,又立即關閉UI的話,變成程序無法立即結束(卡在開啟資料庫的thread...)
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4466 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/11/25 上午 08:35:43

>使用CDatabase連結資料庫時, 以SQL Server為例, 若SQL Server為Pause狀態, 呼叫OpenEx()後, 馬上會有CDBException丟出來,

但是若SQL Server為Stopped狀態, 則一定要等個15~20秒才會有例外丟出來,
>>> if it is available , you may try to call a routine and it checks whether sqlservr.exe was launched or not.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4466 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/11/25 上午 11:32:21
https://msdn.microsoft.com/zh-tw/library/system.environment.exit(v=vs.110).aspx

if the thread didn't terminate , you try to use above method to kill the running thread .
 板主 : 青衫 , Raymond
 > Visual C++ - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Visual C++ - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Visual C++
1 青衫 11070 
2 Raymond 10090 
3 Clier 7630 
4 小約翰 2500 
5 Cog 2030 
6 coco 1870 
7 aming 1410 
8 牧童哥 1400 
9 r2109 1380 
10 Akira 1350 
Visual C++
  專家等級 評價  
  一代宗師 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.15625