AT Service Protocol Error Code 8 (Interactive Process)

Microsoft Windows

บางครั้งเราอาจจะมีระบบงานเก่าที่ใช้ “AT Service Protocol” พอย้ายมาระบบใหม้เวลาทำงานเจอ Error Message แนวนี้ Error Code 8 (Interactive Process) ครับ สาเหตุ การแก้ไข สุดท้ายนี้ ถ้าใครจะทำระบบงานใหม่ๆที่ต้องมี Schedule แนะนำให้ใช้ตัวนี้ครับ Task Scheduler Managed Wrapper ซึ่งเป็น Third Party ที่ช่วยจัดการเรื่องนี้ครับ ใช้งานได้ง่าย สำหรับผมใช้ทำ App ในการดึงข้อมูลจาก ThaiBMA เพื่อแปลง Format และให้ระบบอื่น Feed ข้อมูลเข้าระบบครับ แต่ถ้าอยากลองไปไล่ Library ของ Microsoft จริงๆ ตามมาดูได้ที่นี่ครับ Task Scheduler นี้ครับ Reference

[DB2] -tvf , -td@ -f คือ อะไร

IBM DB2

จริงๆ บทความนี้ผมดองมานานมาก เพราะเดือนที่แล้ว เดือนกุมภาพันธ์ เดือนแห่งการกุมขมับ เพราะ Project ล่าสุดของออมสินต้องส่ง Software ในส่วนของ Phase1 ภายในเดือนนั้นครับ หลังจากผ่านเข้าสู่ Season 2 เฮ้ยย Phase 2 พอมีเวลาได้หายใจบ้าง เลยจะมาเก็บบทความที่ดองไว้ครับ โดยวันนี้ผมขออธิบายคำสั่งเกี่ยวกับ DB2 คำสั่ง -tvf , -td@ ก่อนครับ เพราะหลายๆคนคงใช้คำสั่งเหล่านี้ โดยหลักการ CPD (Copy and Paster Development  ครับ ฮ่าๆ)  แต่ไม่รู้ว่ามัน คือ อะไร และคำสั่งที่ลองไป มันมีอะไรที่พิเศษ หรือป่าวนะ เจ้าคำสั่ง -tvf , -td@ เป็นคำสั่งที่ใช้ใน DB2 CLP (Command Line Processor) มองง่ายๆว่าเป็น DOS ของ DB2 โดยเอาไว้รันคำสั่งเฉพาะ หรือเป็น SQL ก็ได้นะครับ เพื่อจัดการกับฐานข้อมูล โดยคำสั่งขึ้นต้นด้วย db2 ตามด้วยคำสั่งที่ต้องการ โดยมีรูปแบบ ดังนี้ ตัวอย่างคำสั่งง่ายๆ หลังจากเกริ่นพื้นฐานไปแล้ว มาถึงคิวของคำสั่ง -tvf บ้างนะครับ โดยคำสั่ง -tvf อยู่ในส่วนของ option-flag ครับ Concept ของ option-flag คือ การผสมตัวอักษร ซึ่งแต่ละตัวอักษรมีคุณสมบัติเฉพาะตัวครับ สามารถดูได้จาก Help นะครับ ซึ่งผมได้ Capture มาบางส่วนแล้ว โดยอ้างอิงจาก Version 10.5 นะครับ จาก Option-Flag -tvf สามารถแปลความหมายได้ ดังนี้ครับ สำหรับ -tvf การใช้งานจริงคำสั่งนี้ใช้ เพื่อรัน Script SQL และแสดงผลลัพธ์การ…

เปลี่ยนเช็คเงินคืนภาษี เป็นเงินสด

สำหรับมนุษย์เงินเดือนอย่างเราๆ เมื่อได้เงินเดือนมาสิ่งที่ต้องหักไปมีประกันสังคม สวัสดิการต่างๆ และก็ภาษี โดยันอื่นๆช่างมันไปก่อน เรามาวกกลับมาที่ภาษีดีกว่า สำหรับขั้นตอนการเสียภาษีคำนวณอะไรต่างๆบราๆ ในเว็บอื่นมีหมดและ หรือจะลองคำนวณเล่นๆที่เว็บ WealthMagik-Tax Saving Plan ก็ได้ครับ อันนี้ผมใช้ประจำคำนวณยอด ก่อนจะยื่นภาษีครับ พอยืนภาษีไปแล้ว ถ้าเราเสียเงินเกิน ก็ต้องมานั่งดูที่เว็บนี้ว่าเงินจะมาเมื่อไหร่ 555 หลังจากรอมานานนนนแสนนาน ผมก็ได้เช็คเงินคืนภาษีมานะ เมื่อเราได้เช็คมา เราขึ้นเงินได้ที่ไหนบ้าง จริงถ้าสงสัยอะไร เราสามารถถามพนักงานของแต่ะธนาคารได้ครับ พนักงานน่ารักทุกคน 😀

[DB2] Alter table limitations, DB21034E

IBM DB2

Problem ถ้าหากนำ Script ด้านบนนี้ไปรันบน DB2 ที่มี Version ต่ำกว่า 9.7 พบว่า Script ตัวนี้สามารถรันได้ โดยไม่มีปัญหาครับ แต่ถ้านำ Script นี้ไปรันบน DB2 ที่มี Version สูงกว่านี้ เช่น 10.5 พบว่ามี Error Message ในจุดที่ (4) ดังนี้ครับ DB21034E  The command was processed as an SQL statement because it was not a valid Command Line Processor command.  During SQL processing it returned: SQL20054N  The table “INVS.COMPANYACCOUNT_SECURITY_DETAIL” is in an invalid state for the operation. Reason code=”23″.  SQLSTATE=55019 Root Cause ตอนนี้ลองวกกลับมาหาที่สาเหตุบ้าง ส่วนตัวผมเข้าใจว่าระหว่างการเปลี่ยนแปลง ALTER Table เพื่อแก้ Data Type หรือ ขนาดของ Field รวมถึงการ DROP COLUMN – Multiple ALTER TABLE operations within a single unit of work Certain ALTER TABLE operations, like dropping a…

[DB2] cheat sheet

IBM DB2

DB2 System Commands Command Line Processor Commands Database commands via Command Line Processor (CLP) Schema Table Tablespaces Constraints Sequences Locksize Bufferpools Indexes Functions SYSDUMMY1 commands Runstats

[SQL Server] เติม SPACE ให้ Column ใน Fixed Length Text File

Microsoft SQL Server

Blog ตอนนี้ น่าจะดองมาปีกว่าๆ ตอนทำข้อมูลส่งระบบ PTI โดยจะต้องส่งเป็น Fixed Length Text File และทางเลือกที่ ผมใช้ทำ คือ การเขียน Store Procedure เพื่อส่งข้อมูลให้ Application ไปเขียน Text File ต่อไปครับ โดยก่อนที่ผมมแชร์ประสบการณ์ Fixed Length Text File คือ อะไร ผมขอเกริ่นนิดนึงกกันก่อนว่าเจ้า Fixed Length Text File คือ อะไร Fixed Length Text File ที่มีการกำหนดรูปแบบแน่นอนแล้ว ว่าแต่ละ Column มีความยาวได้ไม่เกินกี่ตัวอักษร ถ้าข้อมูลใน Field นั้นๆไม่ครบ ระบบต้องเติม Space ลงไปให้ครบครับ แต่ถ้ามันเกินก็ต้องตัดออกนะครับ เพราะระบบมันจะมองเป็นอีก Field นึงแทน ตัวอย่าง เช่น ต้องการไฟล์ข้อมูลแบบ Fixed Length ที่มีกากำหนดความกว้างของข้อมูล ดังนี้ จาก Spec ข้างต้น ผมเสกไฟล์ตัวอย่างข้อมูล ดังนี้ครับ แต่เวลาที่เราเอาไปดูใน Text Editor ต้องเลือก font ที่รองรับ Fixed Length (คือ ขนาดของตัวอักษรทุกตัว มีขนาดเท่ากัน เช่น Consolas เป้นต้นครับ) หลายอาจจะส่งสัยว่ามันเท่ากันจริง หรือป่าว อันนี้ผมได้ Capture รูป โดยกำหนดให้มันแสดง Space ใน Notepad++ ดังนี้ครับ เกริ่นมาซะยาวแล้ว ผมของลองกับข้อมูลจริง ว่าเราจะเติม Space ลงไปในแต่ะ Field ให้ครบได้อย่างไร ส่วนกรณีที่ข้อมูลมันเกินนั้น สามารถใช้ Substring…

[DB2] แปลง default current_timestamp on update current_timestamp ใน MySQL มาเป็น DB2

IBM DB2

วันนี้ผมได้เอา Application ที่ทำด้วย C#, Java บน MySQL ย้ายมาลองกับ Database DB2(DB2 มันกิน Resource เยอะ 555) มาที่เครื่อง Developer กลาง ด้วยความขี้เกียจผมเลย Export Script จากตัว MySQL Workbench ปรากฏว่าระบบ Generate Script แปลกมาให้ ดังนี้ โดยเจ้า DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP คือ ให้ตัว DBMS update ทุกครั้งที่มีการแก้ไขข้อมูลใน ROW นั้นๆ ถึงแม้ว่างานของผม จะไม่ได้ใช้คำสั่งแนวๆนี้ครับ แต่ไหนๆสงสัยแล้ว ผมเลยลองหาข้อมูล  และขอแปะไว้ใน Blog ว่าเวลาแปลงเป็น DB2 ต้องใช้คำสั่ง “GENERATED ALWAYS FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP” ตามตัวอย่าง ดังนี้ครับ หมายเหตุ: คำสั่ง  “GENERATED ALWAYS FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP” มีข้อควรระวัง ดังนี้ครับ สำหรับใครที่ต้องการ convert งานบน Database อื่นๆไปใช้งานบน DB2 สามารถอ่านบทความนี้ ที่ผมลอง Convert จาก MS SQL Server ไป ยัง DB2 ประกอบได้ครับ

[WordPress] แก้ไขปัญหา Fix Missing required field Update จาก Theme DW Minion

จาก Blog ตอนที่แล้ว ผมได้เขียนไปเกี่ยวกับการแก้ปัญหาที่เกิดขึ้นจาก “Google Structured Data testing tools” ใน Theme WordPress นะครับ โดยในตอนนี้ผมมานำเสนอวิธีแก้ปัญหากับ Theme WordPress  “DW Minion” ที่ใช้งานบน Blog ของผมครับ ตามขั้นตอน ดังนี้ สุดท้ายนี้ SEO ที่ดี นอกจากการ Promote แล้ว ต้องมีการปรับแก้ไข Code ให้ Support ด้วยนะครับ