Day: August 2, 2013

  • วิธีติดตั้ง Oracle Virtualbox Guest Additions สำหรับ Ubuntu 12.04 Guest

    การใช้งาน Oracle Virtualbox นั้น ต้องติดตั้ง Guest Additions เพื่อให้สามารถใช้งานความสามารถต่างๆได้มากขึ้น เช่น การ Sync Time ของ Guest จากตัว Host ได้, การ Copy-and-Paste ระหว่าง Guest กับ Host, ความสามารถในการ Copy File ข้ามระหว่าง Guest กับ Host  รวมถึง การใช้งาน Share Folder ด้วย

    สำหรับ Guest ที่เป็น Ubuntu 12.04 Server ซึ่งไม่มี GUI สามารถใช้คำสั่งต่อไปนี้ในการติดตั้ง

    1. ใน Guest OS, เลือกเมนู Device > Install Guest Additions …
    2. ที่ Prompt ใน Guest ต้องติดตั้ง dkms และ build-essential ก่อน ด้วยคำสั่ง
      # sudo apt-get install dkms build-essential
    3. จากนั้น mount เอา /dev/cdrom มาไว้ที่ /media/cdrom ด้วยคำสั่ง
      # sudo mount /dev/cdrom  /media/cdrom
    4. ติดตั้ง Guest Additions ด้วยคำสั่ง
      # sudo /media/cdrom/VBoxLinuxAdditions.run
    5. จากนั้น Reboot
      # sudo reboot

    การ Mount เอา Share Folder จาก Host มาให้ Guest เห็น  โดยอาจจะสร้าง directory
    สำหรับ Mount เอาไว้ชื่อ /media/vboxshare01
    และ Host ได้สร้าง share folder ชื่อ sharename
    ใช้คำสั่ง
    # sudo mkdir /media/vboxshare01
    # sudo mount -t vboxsf sharename /media/vboxshare01

  • Magic table for trigger in SQL Server

    ใน SQL Server ในการ insert ,Update and delete ข้อมูลต่างๆที่เกิดขึ้นจะถูกเก็บไว้ใน magic table อยู่ 2 table

    คือ inserted,deleted tables

    inserted table จะเก็บข้อมูล recordที่ถูกดำเนินการ และจะเก็บข้อมุลหลังจากการ Update เสร็จสิ้น

    Deleted table จะเก็บข้อมูล record ที่มีการลบไปล่าสุดและเก็บข้อมุลเก่าก่อนการ Update Record ไว้

    ในการเขียน Trigger สำหรับ table ใน SQL Server สำหรับการ Insert,delete จะไม่มีปัญหาอะไรดึงข้อมูล

    มาตรวจสอบจาก 2 table นั้นโดยตรง แต่ถ้าเป็นการ Update ก็จะต้องเลือกให้ดีว่าจะเอาข้อมูลอะไร ก่อนหรือหลังการ

    Update มาเก็บเป็น log นะครับ

    ตัวอย่างครับ

     

    CREATE TRIGGER [dbo].[LogTrigger]
    ON [dbo].[zzz]
    AFTER DELETE,UPDATE
    AS
    BEGIN
    SET NOCOUNT ON;

    if exists(select * from inserted)
        begin
                  insert into log_OptFac
                  select *,GETDATE(),’U’ from deleted
         end
    else
         begin
                   insert into log_OptFac
                   select *,GETDATE(),’D’ from deleted
         end
    END