我先說明一下我的經驗好了:
我在最開發了一套ISP用的[撥接客戶上點入帳系統],就是當使用者撥號上來之後,經過系統的認証後我便要開始計時,一直到使用者離線為止,我便將使用者這次撥接的時間入帳(存入資料庫).
問題是:
1.使用者來自全省,服務的機組不只一個,是很很...多個(商業機密,所以...
).
2.相對的使用者也有好多多...萬(商業機密,所以...)
.
3.我必須隨時去檢查使用者的上線記錄,再將這個使用者的使用時間結合指定的加權指數,計算出點數,並將得到的點數由入帳系統產生SQL QUERY作二段式的資料更新程序(新USER和舊USER有分別),本程序會異動到二個資料庫及至少四個資料表.
4.我必以最佳的方式來進行上述的程式,因為SQL SERVER隨時要接受成千上萬的撥接用戶的上線認証.
不多說了....
總之,不管您目前的作業系統為啥??只要有支援ODBC....反正能和您的SQL SERVER連接的均可以運作(但順不順我可不打包票了:))
至於,我所謂的SQL QUERY指的是:
1.您不是讀了外部的資料嗎
2.依據您的外部資料找出和資料庫一致的關鍵字,也就是說產生SQL QUERY字串,送給SQL SERVER檢查,看有沒有這一筆資料,如果有就異動,否則就新增或是.......(這就是我前面所提的二段式資料更新程序)
3.最好都是以T-SQL方式來進行所有的程序,儘量不要用RECORDSET方式(慢且易出叉...).
4.至於,ADO的非同步功能需配合RECORDSET和事件觸發來設計,可免除CLENT和SERVER之間互相等待的問題!
PS.有人說ADO很簡單,二三下就OK了,但我不這麼覺得!!
如果您在看過了Microsoft Data Access 2.6 SDK 之後還是覺得很簡單的話,歡迎您在板上留下您的心得,與所有同好分享!!