星期四, 2月 18, 2016

FxCop 設定

有時我們在開發的程式會遇到如下圖的狀況
這個問題在編譯或執行階段常見且不算複雜,但若是在 FxCop 因此卡住,就有些棘手。其實有兩種辦法(參考此處):
  • 增加命令列參數 /AssemblyCompareMode:StrongNameIgnoringVersion
  • 修改 FxCop 的設定檔 AssemblyReferenceResolveMode 設定,將 StrongName 改為 StrongNameIgnoringVersion 即可。

星期二, 2月 16, 2016

安裝 Node.js + Oracle Client

Node.js 的火紅,雖然 Oracle 原廠都出來支援了,但在 Mac 的部份,這篇實在也卡了我好久:
  • 裝在 /opt 這段應該是少寫了什麼,目前只有在 user directory 成功的經驗。
  • 最後的 npm install oracledb 請好心點,直接寫成 sudo -E npm install oracledb。
  • 只要稍有差池,莫名其妙的錯誤訊息「node-gyp rebuild」幾乎是誤導大王,還是仔細地核對每個步驟比較實際。
在 Windows 也是依照原廠指示,幾個容易忽略的地方:
  • Visual Studio 預設安裝選項應該是沒有 C++ 的,不符 PreCondition 的要求。
  • 要以「系統管理員」身分在 Developer Command Prompt 先設好 OCI_LIB_DIR / OCI_INC_DIR,再執行 npm install oracledb,否則誤導大王將再次出現!

星期一, 2月 15, 2016

藉由 WebServices 開放資料

通常在跨系統整合面臨的抉擇:到底要直接開放應用系統後端的資料庫,或是在應用系統上準備一些 WebServices 來服務其他的應用系統?比較安全的作法當然是後者,不過通常被認為成本較高,但果真如此嗎?其實這些輪子通常是已經存在的。以 Oracle 來說可以參考這篇,以 MS SQL 來說可以參考這篇以及這篇