2010年10月27日 星期三

SQL Server竟然不區分大小寫

之前B君在測試部署E君的程式時,居然出現錯誤,花了很多時間找到是大小寫的問題,當時我不以為意,認為反正程式在我的電腦上可以執行就可以了,況且當時年底有很趕,誰會在意這些雞毛蒜皮的小事呢?事情經過了一年,又到了年底,這次換我需要SQL Server區分大小寫,因為指紋機廠商將代碼分為I與i,我納悶為什麼我的SQL Server無法區分大小寫呢?上網找資料才知道原來是定序的問題。
簡單來說,CI不區分大小寫,CS區分大小寫。
碗 & 筷: SQL Server 定序設定

2010年9月6日 星期一

移動偵測打蟑螂遊戲

BugCamSmash – Motion Detection with Silverlight 4 Beta
BugCamSmash – Motion Detection with Silverlight 4 Beta
因為Silverlight 4 Beta提供WebCam的支援,所以作者撰寫這個程式,除了附上程式碼之外,還加入幾篇教學文章,以下就是這些教學文章的連結,很可惜最重要的地方並沒有文章加以說明。
Dissected part 1 – Smash a Bug
Dissected part 2 – Make the Bugs Crawl
Dissected part 3 – Give the Bugs Brains
作者在文章中有提到需要安裝Silverlight 4 Beta才能執行程式,其實下載作者提供的程式碼,並且修改CaptureImageAsync()那部份程式就可以執行了。
確定 Silverlight 應用程式能與 Silverlight 4 搭配運作

2010年8月31日 星期二

Silverlight 版本的線上小畫家-與縮圖進行互動(續)

縮圖在我前一篇文章的定義是全景圖,利用縮圖可以快速移動,並且可以瀏覽全景,因此縮圖只需要變成圖片,讓縮圖與原圖的座標相同,並且在原圖變動時,縮圖也即時更新。
因為縮圖只是圖片,不包含其他物件,所以無法在縮圖上面選取物件,檢視或設定屬性等動作,最經典的範例就是世紀帝國,縮圖上面將每個物件都使用帶有顏色的小圓點分組,你可以選擇縮圖上面的物件並且給予命令,因為我是使用Scale的方式縮圖,所以整個座標系統都縮小了,再加上FindName可以讓你從物件名稱取得物件,縮圖與原圖的物件都有對應關係,因此縮圖被選取,利用物件名稱可以找到原圖物件,我想這樣應該就達成我們的目的了。

2010年8月30日 星期一

Silverlight專案部署環境設定

  1. 資料夾選項 -> 檢視 -> 「取消勾選」使用簡易檔案共用(建議使用)
  2. ASPNET、NETWORK SERVICE、IUSER_、IWAM_「完全控制」(這個很危險,請根據需求自行設定權限)
  3. 將副檔名為CS的檔案移至App_Code(在原本的專案,WCF的SVC檔案與CS檔案位於同一個目錄中)
  4. 設定Web_tracelog.svclog(除錯用途)
對我而言,部署其實很浪費時間,希望大家能夠在這方面少花點時間。

2010年8月13日 星期五

下一個平哥

平哥在C君進來之前就已經離開,C君不曾見過他,也沒有聽過他離開的理由,不過今天他知道了,因為C君他犯了平哥犯的錯誤「程式我測試過了阿!都沒有問題阿!」,C君緊接著說「不信我開我電腦裡面的程式執行給你看!」。
老闆突然在開會時,告訴C君自己所聽到其他經理敘述的事情「程式C君都測試過了,C君說都沒有問題,可是我們執行都出現問題!」,並且告訴C君平哥離開的原因,是因為這樣而導致合作不愉快,C君很慶幸老闆願意幫助他,在他這麼年輕就找出這些問題,最後C君在開完會後,跟自己支援的經理與工程師道歉,並且提出以後預估時程時,會列出系統部署的時間。

2010年8月12日 星期四

Microsoft Access Database Engine 2010 可轉散發套件

Microsoft Access Database Engine 2010 可轉散發套件
  1. Microsoft.ACE.OLEDB.12.0
  2. AccessDatabaseEngine_X64

2010年7月26日 星期一

SSRS匯出Excel格式的問題

SSRS匯出Excel會跑版,報表在PDF格式是一頁,結果在Excel預覽列印時會變成兩頁,就算是欄位很少的報表也是一樣,與同事討論之後,發現可以使用UNIX裡的Pipe概念,SSRS的輸出是NPOI的輸入,最後再輸出至前端,相當於都讓SSRS做格式的輸出,最後請NPOI調整Excel的設定,要不然就只能使用其他軟體廠商開發在SSRS上面的Render元件,或是自己重寫某個Render。
以下的程式碼是NPOI如何接收SSRS輸出的程式碼。

byte[] bytes = ReportViewer1.ServerReport.Render(
"Excel", null, out mimeType, out encoding, out extension,
out streamids, out warnings);

MemoryStream msExcel = new MemoryStream(bytes);
HSSFWorkbook workbook = new HSSFWorkbook(msExcel);

[MSDN Magazine]Display Your Data Your Way with Custom Renderers for Reporting Services
How to Change the Default Rendering on SSRS