星期六, 12月 11, 2010

[IE] IE 6.0 SP1 離線安裝

最近要重新安裝 Windows Server 2000 時,才發現 IE 6.0 SP1竟然必須連上Windows Update才可以更新,這實在是很糟糕的一點;在網路上找到可以離線安裝的方法,它的做法是先上Windows Update裡,把 IE 6.0 SP1 的安裝檔案下載到電腦上,再進行安裝。
  • 首先請先下載 IE 6.0 SP1 安裝檔,並放置在指定資料夾。
  • 開始 => 執行 => 輸入 "D:\Tool\IE 6.0 SP1\ie6setup.exe" /c:"ie6wzd.exe /d /s:""#E"
IE 6.0 - 0

星期六, 12月 04, 2010

[VPC] 變更 Mac Address

為了方便自己作業,必須更改VPC的Mac Address。
  1. 確定VPC並未啟動OS。
  2. 用Notepad或是Wordpad打開 Virtual Machine Setting File(.VMC)。
  3. 利用搜尋功能(Ctrl + F),尋找"ethernet_card_address"。
  4. <ethernet_card_address type="bytes">XXXXXXXXXXX</ethernet_card_address> 改為 <ethernet_card_address type="bytes"></ethernet_card_address>;XXXXXXXXXXX改為空值。
  5. 儲存VMC 檔案,再去開啟OS,Mac Address就會改變。
Mac Address

星期六, 11月 27, 2010

[SQL] PIVOT 和 UNPIVOT

  • 說明:
產生ㄧ個2維PIVOT來幫助自己,免的每次要用它還要重新理解ㄧ次。
    • 簡介:
    PIVOT 將資料行內資料的唯一值旋轉成多個資料行,並對數值型欄位進行彙總(直轉橫)。
    UNPIVOT則是跟PIVOT相反(橫轉直)。PS:資料行(Column)、資料列 (Row)。
    -- 1.1 利用個人出勤表來進行說明。
    -- 1.2 假別:事假、病假、公假和陪產假。
    -- 1.3 #PIVOT 用來說明 PIVOT;#UNPIVOT 用來說明 UNPIVOT。
    -- 1.4 備註:#PIVOT 有兩筆時數為NULL的資料;
    --           #UNPIVOT AAAAA 員工陪產假為NULL、BBBBB 員工公假為0。
    CREATE TABLE #PIVOT (Employee char(8),Date datetime,Kind char(10),Hours numeric(4,2))
    INSERT INTO #PIVOT VALUES ('AAAAA','20101001','事假',3.0)
    INSERT INTO #PIVOT VALUES ('AAAAA','20101002','事假',8.0)
    INSERT INTO #PIVOT VALUES ('AAAAA','20101003','事假',4.0)
    INSERT INTO #PIVOT VALUES ('AAAAA','20101010','病假',8.0)
    INSERT INTO #PIVOT VALUES ('AAAAA','20101020','病假',1.0)
    INSERT INTO #PIVOT VALUES ('AAAAA','20101025','公假',8.0)
    INSERT INTO #PIVOT VALUES ('AAAAA','20101026','公假',8.0)
    INSERT INTO #PIVOT VALUES ('AAAAA','20101027','公假',8.0)
    INSERT INTO #PIVOT VALUES ('AAAAA','20101027','公假',NULL)
    INSERT INTO #PIVOT VALUES ('BBBBB','20101001','事假',6.0)
    INSERT INTO #PIVOT VALUES ('BBBBB','20101009','病假',8.0)
    INSERT INTO #PIVOT VALUES ('BBBBB','20101019','病假',8.0)
    INSERT INTO #PIVOT VALUES ('BBBBB','20101019','病假',NULL)
    INSERT INTO #PIVOT VALUES ('BBBBB','20101025','陪產假',8.0)
    INSERT INTO #PIVOT VALUES ('BBBBB','20101026','陪產假',8.0)
    INSERT INTO #PIVOT VALUES ('BBBBB','20101027','陪產假',8.0)
     
    CREATE TABLE #UNPIVOT (Employee char(8),事假 numeric(4,2),病假 numeric(4,2),公假 numeric(4,2),陪產假 numeric(4,2))
    INSERT INTO #UNPIVOT VALUES('AAAAA',15,9,24,NULL)
    INSERT INTO #UNPIVOT VALUES('BBBBB',6,16,0,24)
    

    星期五, 11月 19, 2010

    MEM_BAD_POINTER

    在Windows 7 32 bit 上安裝Auto CAD LT 98後,要開啟時會出現這個錯誤"MEM_BAD_POINTER",按確定就像跑進一個死迴圈,怎麼按都不會結束;搜尋網路上資料,原來Auto CAD LT 97、AutoCAD LT 98 和 AutoCAD R14在 Windows Vista 32 bit 上也會出現。

    Auto CAD LT 98
    • 根據下列步驟去執行就可以在 Windows 7 32 bit 裡順利開起Auto CAD LT 98。
    1.  請先在網路上下載 SHW32.dll,並把名稱改為 SH31W32.dll (SHW32.dll => SH31W32.dll)。
    2.  Program File => AutoCAD LT 98 內找到 SH31W32.dll,備份這個檔案或是改成其他名字(EX:SH31W32_Old.dll),把步驟1的dll檔案複製進來。
    3.  重開 AutoCAD 就可以進入。
      在 Windows 7 64 bit 上,一啟動 setup 馬上就會出現這個 Error,原來AutoCAD LT 98 是16位元,這個實在是無解,只好在Windows 7 64 bit 上利用 DWGTrueView 2010 64 bit 來閱讀,利用XP Mode來執行AutoCAD LT 98來編輯囉。


        備註:
      • 在Windows 7 32 bit 上打開 AutoCAD LT 98 後,並沒有實際使用過(我也不會用),所以無法確定使用上是否有其他問題。
      • 20110428 在 Windows 7 32 bit 上安裝 AutoCAD LT 2000,可正常開啟使用;201105底使用者回報列印上有問題,解決方法請參考 記憶體配置錯誤

      星期六, 10月 02, 2010

      [SQL] IF EXISTS VS SELECT COUNT(*)

      寫 T-SQL 語法時,常常需要判斷某些筆資料是否存在,重點是資料存在與否,來進行接下來的邏輯判斷,而非資料明細內容或是有多少筆數,此情況建議使用 IF EXISTS() 來達到此要求,而不要使用 SELECT COUNT(*) 來判斷,主要原因是因為 IF EXISTS() 只會判斷資是否有資料,當出現第一筆符合條件的資料,就不會繼續往下尋找,而 SELECT COUNT(*) 則是會找出全部資料才停止,SELECT COUNT(*) 會浪費較多的 I/O 和 CPU 處理時間。
      -- 範例使用 AdventureWorks 內的 Sales.StoreContact 來說明
      
      -- 建議用法
      IF EXISTS(SELECT 1 FROM Sales.StoreContact WHERE CustomerID = 24)
          -- 邏輯判斷
       
      -- 避免用法 1
      IF EXISTS(SELECT COUNT(*) FROM Sales.StoreContact WHERE CustomerID = 24)
          -- 邏輯判斷
       
      -- 避免用法 2
      DECLARE @count int
      SET @count = 0
      SELECT @count = COUNT(*) FROM Sales.StoreContact WHERE CustomerID = 24
      IF @count > 0
         -- 邏輯判斷
         
      -- 避免用法 3
      IF (SELECT COUNT(*) FROM Sales.StoreContact WHERE CustomerID = 24) > 0
          -- 邏輯判斷
      
      

      星期六, 7月 03, 2010

      [Word] 抓取Word內圖擋

      公司小姐把文件做好,因為找不到原本使用的圖檔,跑來跟我求救,順便介紹一下要如何把Word圖檔給抓出來。
      • 打開 Word 另存此檔案,並選擇其他檔案格式
      • 另存新檔視窗內,選擇檔案類型為"網頁",並選擇欲存放位置
      • 到存放位置可以找到,因另存新檔所產生的資料夾(預設以Word檔案名稱為資料夾名稱)
      • 點擊進資料夾後,就可以找到Word檔內的圖檔
      • 使用軟體為為 Microsoft Office 2007

      星期一, 3月 29, 2010

      筆電電池壽命

      最近公司買了一台新NB,心血來潮翻翻說明書,在"如何延長電池使用壽命"的主題中,注意到一點說明。
      • 在可提供穩定電源的環境下使用筆記型電腦時,將電池移除可延長電池壽命不盡然是正確的。筆記型電腦連接變壓器時,請將電池保留在筆記型電腦內,如此並不會造成電池過度充電。筆記型電腦有充電控制及保護電路的設計,一旦充飽即不會再對電池進行充電,所以不會發生過充的現象。
      我當初也是這麼想,充飽就會停了阿,在台北的一年加上溫哥華的十一個月,ASUS V6V電池就宣告報銷,OrZ,再好好看看這段說明"將電池移除可延長電池壽命不盡然是正確的",就是說也不一定是錯的啦。

      當然說明書上也有其他方法來延長電池壽命 => 添購一個額外的電池組,果然是商人;另外還非常貼心的提醒你,假如電池取下單獨存放超過三個月,電池本身的自我放電可能導致過放電而造成電池毀損,請至少每三個月將電池充放電一次(備用電池也一樣),老實講,會這麼細心的使用者大概少之又少。

      最後說明上還有一點,重覆充放電次數約為300次,也就是說,萬一把NB當桌機使用,大概就是我V6V的後塵吧;假如有注意到電池問題,以現在NB的產品週期大約3-5年,池掛掉那天,大概就是NB該淘汰那天吧,不過即使電池掛掉,我想會去買電池的應該不多,反正接著電源還是可以使用。

      在V6V的教訓後,自己的使用習慣為,用到沒電接電源,充飽後就拔掉,這樣做電池壽命會不會比較長我也不知道,反正我認定電池是消耗品就是啦。^_^