2012年2月21日 星期二

Vb.Net Excel Cell 強制設為文字


Dim dtWork As DataTable
Dim app As Object ' Excel.Application
Dim wb As Object 'Excel.Workbook
Dim ws As Object 'Excel.Worksheet

'Store Data
For i = 0 To dtWork.Rows.Count - 1
  For j = 0 To dtWork.Columns.Count - 1
    If dtWork.Columns(j).DataType Is GetType(String) Then
      '如果資料欄位是文字,excel 的 cell 也設為文字
      ws.Cells(i + 2, j + 1).numberformat = "@"
    End If
    '剩下的 cell 使用預設值 自動

    ws.Cells(i + 2, j + 1) = dtWork.Rows(i)(j)
  Next
Next

2012年2月16日 星期四

Progres資料庫調校

這是抄來的,原本出處為
http://csc.ocean-pioneer.com/docum/progress_db_tune.html

我是碰到下面的問題:
剛開始很正常,但經過一段時間後有些人開始無法連線,但是
-n
-Ma
-Mn
-Mi
設定都未達最大值,因此我們開尋找解決的方法
症狀:
重開機後1至2個小時很大概後面的人就無法連上,退出的人也很難再連上
經查此時機器的行程到206個左右,包含的progress行程大概是140-150個左右
原來在淸掉沒有用的資源prowdog程式,有三個但是似乎沒有作用(其書上也說只針對本地行程),經確認對遠端的行程無效

參數的定義:
*這裏是我經過很長的時間才領悟出來,可能有錯,但是比起原文書Progress Database Administration Guide and Reference
上的說明更容易了解

-n 是總連線數 Ma * Mn -你真正可以服務的本機及網路的連線數
-Mn 可以啟動的大服務(process) -這個資料庫可以啟動行程數
-Ma 每一個服務(Process),最大可以服務多少的client(連線)
-Mi 當服務到這個倍數就會啟動另一個預備的行程
例如:設定為4,每一個服務到達4的倍數時,就會啟動另一個行程

*寶盛的資料庫是相關的,在連線進去時一次要連線5個資料庫,也就是每一個資料庫都要被考慮

結論:
我們限制行程的數量不要超過某一毎數量
因此將-Mn的數量減少,增加-Ma的數量
也就是將-Mn總行程數量減少,增加-Ma 服務的client(連線),
限制全部的progress的行程在120個左右
缺點:
雖然我們的作法,可行,但是你要考慮電腦的效能,我們測試當-Ma服務到8個時
我司的主機效能還不錯