沈默的食指族
自從iPhone上市之後,身邊的人個個成為蘋果一族,食指功力越來越強,每次聚會到一半,拿出手機拍完照,就開始各自低頭玩手機,
急著把照片傳到 Facebook上與朋友分享,
- Apr 19 Tue 2011 09:35
[轉載] iPhone 讓我們距離越來越遠
- Aug 27 Fri 2010 15:28
[SSRS] Excel Worksheet Naming
在 SSRS 2008 R2 之前要讓報表匯出的 Excel 工作表名稱有一定命名方式是不可能的,在先前我曾寫過一個 VBScript 來改寫 Sheet Name 來達到一樣的效果,請參考 [VBScript] 變更 Excel 檔案中的 SheetName 以及 Link 網址 ,但現在 R2 之後不需要這麼辛苦了,可以在匯出的報表上自動就產生好名字了。
其方法很簡單,只要在你想要產生匯出命名的 tablix 上,找到 PageName 的屬性,如下圖,匯出後即可顯示想要的樣子了。
匯出結果如下:
- Aug 24 Tue 2010 12:03
[SSRS] 變更 SSRS 訂閱的擁有者
當 Reporting Services 的訂閱擁有者離職或被 AD 刪除後,相關的訂閱會被失效而無法發送,除了用管理者身分去一個一個重新定義訂閱以外,簡單的方法是使用 SQL 語法,將舊的人員改成新的人員。
SQL 如下:
DECLARE @OldUserID uniqueidentifier DECLARE @NewUserID uniqueidentifier SELECT @OldUserID = UserID FROM dbo.Users WHERE UserName = 'DOMAINA\OldUser' SELECT @NewUserID = UserID FROM dbo.Users WHERE UserName = 'DOMAINA\NewUser' UPDATE dbo.Subscriptions SET OwnerID = @NewUserID WHERE OwnerID = @OldUserID
SQL 參考來源 : Tip: Change the Owner of SQL Reporting Services Subscription
- Aug 11 Wed 2010 22:45
[PowerShell] 使用 PowerShell 大量修改檔名
以前如果要大量修改檔案的話不就是自己寫 bat 批次檔或者是script,懶得寫程式就是找大量修改檔名的軟體,這類的軟體太多了~
但是如果懶得找軟體,又只是簡單的修改檔名的話,可以使用 PowerShell 指令簡單修改。
假設我要修改附檔名為mp3 的檔案,把 "_" 改成 " " 只需下面指令即可。
gci *.mp3 | % { rename-item $_ $_.Name.Replace("_", " ") }
- Jul 05 Mon 2010 11:47
[.NET 4.0] : Enum.HasFlag()
最近實作了一個列舉的 Flag 來處理權限的機制,也在無意之間發現了 .NET 4.0 多了一個 HasFlag 這個 Function ,這倒是節省了很多寫 code 的程式與判斷。
如下的權限身分:
public enum SystemRoles { None = 0, // 0000 0000 0000 0000 0x0000 ReportUser = 1 << 0, // 0000 0000 0000 0001 0x0001 WebUser = 1 << 1, // 0000 0000 0000 0010 0x0002 ACCUser = 1 << 6, // 0000 0000 0100 0000 0x0040 HRUser = 1 << 7, // 0000 0000 1000 0000 0x0080 ReadyOnlyAdmin = 1 << 8, // 0000 0001 0000 0000 0x0100 ACCAdmin = 1 << 10, // 0000 0100 0000 0000 0x0400 HRAdmin = 1 << 11, // 0000 1000 0000 0000 0x0800 SystemAdmin = 1 << 14, // 0100 0000 0000 0000 0x4000 ITAdmin = 1 << 15, // 1000 0000 0000 0000 0x8000 }
如下面的情況,早期要得到 hasFlag1 的值,必須使用 hasFlag2 的方式,才能得到相同的結果,在程式的判讀上也比較吃力,現在使用 HasFlag() 的 Function 變得更簡單易懂了。
SystemRoles flagEnum = SystemRoles.WebUser | SystemRoles.HRUser | SystemRoles.ReportUser; bool hasFlag1 = flagEnum.HasFlag(SystemRoles.WebUser); bool hasFlag2 = ((flagEnum & SystemRoles.WebUser) != 0) ? true : false;
- Mar 31 Wed 2010 16:34
Microsoft Connectors Version 1.1 for Oracle and Teradata by Attunity
MS 在 3/24 發布了 1.1 的更新版了,更新的內容如下,我還沒測試過,有機會來升級一下看看。
Overview
Microsoft Connector Version 1.1 for Teradata by Attunity - The components are written to achieve optimal performance when loading data into Teradata or unloading data from Teradata in the context of Microsoft SSIS.
- Mar 31 Wed 2010 11:43
在 SSRS 中使用 NOT LIKE
在 SSRS 中,大家可以發現不管在哪裡的運算式都只有 Like 這個運算式,那 Not Like 又在哪裡呢?我又把依照 Like 的範例 =Fields!FirstName.Value Like "T*" 中的 Like 前面加個 Not 卻照成語法錯誤!! 那這樣看起來好像就沒有 Not Like 這個運算式可以使用了~ 以前遇到這樣的問題,其實都是在 SQL 中就使用 NOT LIKE 語法處理掉了,但是這次卻遇到所有的資料其實我都要的,只是在報表呈現中某一個 Group 要處理這樣的問題,因此無法再 SQL 中先處理資料了~ 最後的變通方式就是自己寫一段 CODE 來處理這樣的事情了~ 首先,先在整個報表的報表屬性中的程式碼,寫下自己定義的 NotLike 的程式
Public Function NotLike(ByVal val As String, ByVal filter As String) As Boolean IF val.Contains(filter) Then Return False Else Return True End If End Function
這樣就可以在所有的運算式中使用 =code.NotLike(Fields!FirstName.Value, "T") 這樣的語法了,但是那要在 Group 中的篩選要怎麼使用呢,其實已是很簡單,在運算式中打上=code.NotLike(Fields!FirstName.Value, "T") ,運算子選擇 = ,值打上 =True,這樣就可以在 Group 中使用 NotLike 來過濾你的資料了。
- Feb 03 Wed 2010 14:54
Active Directory using C#
最近因為某些原因,公司將不再使用 Outlook 了,因為在 Outlook 上要查詢員工資訊變得困難重重了,另外,也因為公司的組織異動,全部都要建入 AD ,因此又要搞個 AD 通訊錄異動的自動化程式,又讓我重拾寫 AD 程式的能力。
由於這次的關係,在 .NET 3.5 中發現了 AD 的命名空間又多了兩個東西,一個是 System.DirectoryServices.AccountManagement ,另一個為 System.DirectoryServices.Protocols,Protocols 在此就暫時不提它了,因為我還沒用到。
由 MSDN 上的的解釋,System.DirectoryServices.AccountManagement 可跨多重主體存放區存取與管理安全性主體。存放區包括 Active Directory 網域服務 (AD DS)、Active Directory 輕量型目錄服務 (AD LDS) 與電腦 SAM (MSAM)。System.DirectoryServices.AccountManagement 可管理目錄物件,而不受 System.DirectoryServices 命名空間影響。
因此就可以多多利用這個命名空間做很多使用者、群組、電腦的管理。省去之前使用 System.DirectoryServices 跟 Interop.ActiveDs.dll COM 元件的複雜工作。
- Jan 08 Fri 2010 09:43
SharePoint 2010 認證
SharePoint 2010 系統越來越大,認證的分類也變多了,看來又要一翻的努力才能拿到全部的認證...
新的認證應該會於六月上路...詳情參考https://partner.microsoft.com/global/40121316
以下為新的認證:
- Nov 21 Sat 2009 21:12
Windows 7 新快速鍵
視窗控制快速鍵
Win+Home: 將所有使用中視窗以外的視窗最小化(和搖動使用中視窗一樣意思)
Win+Space:將所有桌面上的視窗透明化(和滑鼠移到工作列的最右下角一樣意思)
Win+上方向鍵:最大化使用中視窗(和將視窗用滑鼠拖到螢幕上緣一樣意思)