How to fetch the row count for all tables in a SQL SERVER database

Posted on September 16th, 2014

The following SQL will get you the row count of all tables in a database:

CREATE TABLE #counts
(
    table_name varchar(255),
    row_count int
)

EXEC sp_MSForEachTable @command1='INSERT #counts (table_name, row_count) SELECT ''?'', COUNT(*) FROM ?'SELECT table_name, row_count FROM #counts ORDER BY table_name, row_count DESC

The output will be a list of tables and their row counts.
If you just want the total row count across the whole database, appending:

SELECT SUM(row_count) AS total_row_count FROM #counts

will get you a single value for the total number of rows in the whole database.

REF:
Fetch_row_count_for_all_tables_in_a_SQL_SERVER by adrianbanks from stackoverflow.com


7za(7-zip commad-line) 壓縮備份

Posted on September 9th, 2014

  1. 藉由 Windows 排程每天執行一次
  2. 透過 7-zip 打包指定資料夾, 存在 local 端目錄
  3. 掛載網路磁碟機, 並上傳至指定位置
  4. 刪除 local 端目錄超過 7 天的備份檔

gist


Tomcat SSL 憑證產生教學

Posted on September 4th, 2014

Step1. 建立 private key金鑰

C:\j2sdk1.4.2_05\bin>keytool -genkey -alias mykey( 別名 :可自設) -validity 720( 效期 ) -keyalg RSA -keysize 1024 -keystore tomcat.keystore(產出的 keystore檔名) -storepass mypassword( 密碼自設 ) –keypass mypassword(密碼自設)

Step 2. 輸入憑證資訊

一般名字與姓名會輸入該網站的 daman,若測試輸入localhost即可,其他資訊看客戶是否有要求,否則隨意填即可。

Step 3. 產出憑證要求的 CSR檔

C:\j2sdk1.4.2_05\bin>keytool -certreq -alias mykey(Step1 設定的別名 ) -file cert.csr(產出的csr 檔名 ) -keystore tomcat.keystore (Step1產出的 keystore檔) -storepass mypassword(Step1 keystore密碼 )


匯出的憑證內容

Step 4. 匯入 CRE憑證檔

利用 CSR檔產回CRE 憑證檔進行匯入。
此時,請確認客戶產出 CRE檔的程式,是否有根憑證或中繼憑證,若有麻煩先匯入根憑證及中繼憑證,否則會無法匯入憑證。
方法 1: 根憑證及中繼憑證匯入Java Security ,再匯入產出的 CRE憑證檔

Step 4-1-1.匯入根憑證及中繼憑證

C:\j2sdk1.4.2_05\bin>keytool -import -trustcacerts -alias tomcat( 別名 :可自設) -file server.cer(根憑證、中繼憑證 ) -keystore  %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit(jre預設密碼是 changeit)

Step 4-1-2.匯入產出的憑證

C:\j2sdk1.4.2_05\bin>keytool -import -trustcacerts -alias mykey(Step1 設定的別名 ) -file cert.cer(產出的憑證檔 ) -keystore tomcat.keystore(Step1產出的keystore 檔) -storepass mypassword(Step1 keystore密碼 )

方法 2:直接匯入keystore( 依信任關係,由最上層憑證,依序往下安裝 )

Step 4-2-1.匯入根憑證及中繼憑證

C:\j2sdk1.4.2_05\bin> keytool -import -alias mykey(別名 :可自設) -file server.cer(根憑證、中繼憑證 ) -keystore tomcat .keystore(Step1產出的 keystore檔) -storepass mypassword(Step1 keystore密碼 )

Step 4-2-2.匯入產出的憑證

C:\j2sdk1.4.2_05\bin>keytool -import -trustcacerts -alias mykey(Step1 設定的別名 ) -file cert.cer(產出的憑證檔 ) -keystore tomcat.keystore(Step1產出的keystore 檔) -storepass mypassword(Step1 keystore密碼 )


匯入完成的訊息

Step 5.修改Tomcat server.xml 的設定

PS.

1.如果客戶是自己認證沒經過第三方大廠,匯入客戶的根憑證及中繼憑證是一定要的,不然匯不進去。
2.記得要改成 protocol="org.apache.coyote.http11.Http11Protocol" ,APR 的方式測試都不成功,等有人成功可以分享一下。
3.查詢keystore 資訊語法

keytool -list -keystore tomcat.keystore(Step1 產出的 keystore檔) -storepass mypassword(Step1 keystore密碼 )

感謝 Nick 教學


透過用 Gist 實現含版本控制代辦事項

Posted on September 2nd, 2014

我一直找不到簡單的 todo 代辦事項工具, 後來被我翻到這個: gist,

如果妳會 markdown 又會 git 或許可以試試看

只要你擁有 github 帳號,
並在 gist 建立一個 markdown (檔名設為 *.md 就會自動被判斷為 markdown)
只要 .md 的內容按下圖規則輸入 (空隔 減號 空隔 左中刮號 空隔 右中括號 空隔 內容),

- [ ] 一個待辦事項
- [x] 一個勾選的代辦事項

將該 markdown 儲存之後, 神奇的事情就發生了

gist 將為依據你輸入的內容產出一個可以勾選的 todo list,
重點是重點是重點是: 有版本控管
任何勾選的操作都會自動儲存
而且...每一次勾選都會是一個 commit, XDD

這邊有一個範例: seans-todo-list

但好像只有自己的 gist 帳號才能用對自己的 markdown 勾選編輯

REF: lifehacker_How to Turn GitHub into a To-Do List


Windows Server 2012 .NET3.5 或 4.5 的安裝方法

Posted on August 20th, 2014

由於一些安全性之類的問題,

所以某些 Windows Server 2012 預設是沒有安裝 .net framework 3.5
若需要安裝:
[控制台] > [程式集] > [程式和功能]
在右邊有一個 [新增角色集功能精靈]
按著精靈步驟, 勾選以安裝 .net 3.5 或 4.5

因為目前產品使用的轉檔的 *.exe 是由 C# 開發,
故需要透過 .net, 故若沒安裝會導致 office 轉 pdf 失敗


EditorViewer - A Eclipse plug-in of vertical tab view

Posted on July 3rd, 2014

我常常因為 Eclipse 開了太多 tab,
導致一直需要在程式碼視窗堆裡一直切換 (`Ctrl`+`PageDown` / `PageUp` 或 `Ctrl`+`Tab`)
但這樣切換往往是很沒效率, 或又找不到,
就又重新用 Open Resource (`Ctrl`+`Shift`+`R`) 或 Open Class (`Ctrl`+`Shift`+`T`) 重新打開一次,


因此我想找一個能夠在 View 中顯示目前開啟的程式碼檔案,


果然有的!


**[EditorViewer@Sourceforge](http://sourceforge.net/projects/editorviewer/)**
但這個專案似乎好一陣子沒有在維護與更新了

Sourceforge 上有放幾張示意圖, 大概長這樣:


奇怪的是我裝好之後, 好像沒有如下圖的 *type view*

CKEditor 4.3 自訂功能 config

Posted on June 17th, 2014

一些可能會在 CKEditor 會用到的自訂功能:

1. 包括新增字體 (要該 OS 底下擁有這個字體, 因為只是 apply css font-family)
2. 從 word 貼上保留各種樣式
3. 調整字體可以選擇的大小與單位
4. html tag 的黑名單與白名單
(若為 4.4 版直接使用 disallowedContent 即可, 不須從 allowedContent 砍掉)
5. Enter 換行的模式 p, br, div


幾乎都要回去看一下文件

REF: [CKEditor 4 Documentation](http://docs.ckeditor.com/#!/guide)

製作簡單的 JMeter 測試腳本

Posted on June 12th, 2014

jMeter 2.9


+ 開一個 **執行緒群組**


+ 在底下加入 **錄製控制器**


+ 對 http proxy server, 設定要被連接用的 **port** (給瀏覽器用), 要指定的 **錄製控制器** (指定剛剛建立的錄製控制器)



+ 到瀏覽器去設定 proxy 連接, 輸入剛剛的 proxy server port number (以 firefox 29 為例)


+ 回到 jMeter 剛剛建立的 http proxy server 按下 **開始**, 就可以開始在瀏覽器上操作了
+ 錄製好後可以回到 http proxy server 按下 **停止**
+ 所有操作就會跑到 **錄製控制器中**了
+ 之後可以自訂每個錄到的 request, 例如 header 或是 form params 等
+ 可以把該專案存下來 **.jmx **
+ 設定運行測試的參數: **一次跑幾個**, **跑幾次**, 用計時器設定 **開始結束時間** 或直接設定**跑多久**

> 若開始時間設定是比當前時間晚, 會變成像是*預約*執行測試一樣, 該執行緒群組便會等到開始時間到才會開始執行.



+ 若要模擬使用者在頁面中的停留, 可以使用 **固定值計時器** 或 **一致隨機計時器**, 計時器的功能是在每一個動作之前加上延遲


+ 執行之前可以加入需要的報表以檢視測試結果, 以下是 **彙整報告**


結果大概會長這樣, 記得可以匯出成 .csv 檔


之後有空再寫一下如何以多個帳號對某個 ap 登入 (這樣叫做 data driven?)

在 SQL Server 2005 中取得所有欄位定義的方法(含備註欄位)

Posted on June 5th, 2014



SQL 這個算超好用的... 如果要請客戶幫忙 debug

結果會把所有 table 以及各個欄位的資訊放在一起輸出


REF: [The Will Will Web](http://blog.miniasp.com/post/2007/11/05/How-to-get-detailed-Data-Dictionary-in-SQL-Server-2005.aspx)



sql指令取得table內的欄位名稱

Posted on June 5th, 2014

###MSSQL
``select name from syscolumns where id=object_id('tablename')``

###Oracle
```
select COLUMN_NAME from all_tab_columns
where owner='OWNER' --需要大寫,否則找不到
and table_name='DIS_PHON_ACC' --需要大寫,否則找不到
order by column_id
```

REF: [sql指令取得table內的欄位名稱](http://blog.roodo.com/fionscenery/archives/19070448.html)

Liullen

Notes from my experience.