最近碰到有一台SQL 2000要透過UNC的方式備份,不過發生錯誤,從作業歷程記錄裡看到這個訊息「以下列使用者的身分執行: Dotblogs\Jeff-Yeh。sqlmaint.exe 失敗。[SQLSTATE 42000] (錯誤22029). 步驟失敗」,未來不知道會不會再遇到,寫下這次的解決方式,有助加深自己的映像。
Select Count(*) / Count(1) / Count(欄位名) 的差異
在T-SQL裡有個Count()函數,使用相當的廣泛,但Select Count(*),Select Count(1),Select Count(欄位名稱),這三種寫法有什麼差別?
認識Char/NChar/VarChar/NVarChar/Text/NText
Char/NChar/VarChar/NVarChar/Text/NText,這幾個資料型別或許有些人很熟,有些人只熟其中幾個,尤其是程式設計師,不碰DB Design的,如果有碰到,也可能依"慣例"的去設定資料型別,所以不難看見,有些Table資料型別很單調,看的到的型別不多,只要是存文字的,都是 NVarChar,或許在瞭解後,可以做出更好的規劃.
淺談Parameters.AddWithValue的自動型別判斷
很多人吃了不少Parameters.AddWithValue的虧,因為它帶的型別與我們預料的不同,所以導致後續的問題,進而放棄使用 AddWithValue,改用給予明確型別的的方式,究竟Parameters.AddWithValue是怎麼去判斷帶入的值要用什麼型別?
Parameter參數中的DBType重要性
在加入DBCommand的Parameters,有沒有想過DBType這個問題,除了在使用Command.Prepare時,一定要指定,那麼其它時候是否要指定,而AddWithValue是否真的那麼[自動]的幫我們加上正確的型別?如果用錯DBType,那又有什麼差異?
一次搞定新增或異動資料
寫程式一段時間,發現每次遇到如果資料不存在就新增,如果存在就異動的這個情況,總是要用DBCommand去Execute個兩次,總是沒有辨法一次搞定,現在想到的方法就是從Script著手.
分頁從資料庫就做好RowNum Oracle版
之前有寫過同樣類似的一篇分頁從資料庫就做好,不過那個是MS SQL2005以上的版本,而Oracle也有類似的rownum可以用,但它跟MS SQL的Row_Number有點不同,但還是可以用它來做到同樣的功能.
提早將DataReader.Close還是會把資料傳完
在用DataReader讀資料時,如果取回的資料有100筆,但因為需求關係,程式判斷到,符合某個條件時,就不再繼續Read下去,直接把DataReader給Close掉.但這麼做還是會把剩下的資料全部傳回來.
用DbCommand來產生暫時的Store Procedure
Store Procedure的效能比較好,這點就不再討論,但有時不是想用就能用,這時可以用DbCommand的Prepare功能,來產生一個暫時的SP,藉此來提升效能.
MS SQL2005的怪情況
同一個查詢語法,MS SQL 2005與Oracle回傳的結果不同.
用SQL語法找到字串中符合的記錄
當資料庫有個欄位儲存的資料是以A01,A011,A02,A03...等字串的資料型態在儲存時,要如何用SQL語法找出其中一個值,例如要找欄位中的字串含A01的記錄.
SQL語法用like %或in時,Parameters要怎麼用,才能避免SQL Injection的問題
如何應用Parameters到T-SQL裡去組字串,而Where可以使用like或in的方式查詢.,避免SQL Injection的問題
Oracle VS Microsoft SQL , Linux VS Windows 比較
摘要:Oracle VS Microsoft SQL , Linux VS Windows 比較
讓伺服器能充份發揮4G以上的記憶體
讓伺服器能充份發揮4G以上的記憶體
分頁從資料庫就做好 Row_number() T-SQL
減少網路傳輸的資料量,分頁從資料庫就做好
- 1