Change language to EN
ข่าวเด่นข่าวกีฬาข่าวเศรษฐกิจ
ราคาน้ำมันEx.rateพยากรณ์อากาศ

หน้าแรก >เทคนิคการใช้งานโปรแกรม>เคล็ดไม่ลับ กับการใช้งานโปรแกรมเอ็กซ์เพรส>แก้ไขปัญหากรณีใช้ Windows Server 2012 ร่วมกับ Windows 8 แล้วมีปัญหาหลุดออกจากโปรแกรมบ่อยๆ

แก้ไขปัญหากรณีใช้ Windows Server 2012 ร่วมกับ Windows 8 แล้วมีปัญหาหลุดออกจากโปรแกรมบ่อยๆ

แก้ไขปัญหากรณีใช้ Windows Server 2012 ร่วมกับ Windows 7,8 และ 10 แล้วมีปัญหาหลุดออกจากโปรแกรมบ่อยๆ 

 

 

หลังจากที่ทาง Microsoft ได้ออกจำหน่ายระบบปฏิบัติการ Windows Server 2012 มาได้สักระยะหนึ่ง ทางบริษัทเอ็กซ์เพรสเองก็ได้รับฟีดแบคจากลูกค้าบางท่าน ซึ่งใช้ระบบปฏิบัติการดังกล่าวนี้ร่วมกับเครื่องลูกข่ายที่เป็น Windows 7, Windows 8 หรือ Windows 10 โดยรายงานถึงปัญหาในการใช้งานโปรแกรม คือ มักจะพบว่ามีการหลุดออกจากโปรแกรม โดยแจ้งข้อความ Error ก่อนหลุดจากโปรแกรมว่า Error -70 หรือ -120 Reading File หรือ file4readAllow ในขณะที่กำลังใช้งานโปรแกรมบัญชี Express อยู่บ่อยครั้ง และจะเป็นกับเครื่องลูกข่ายที่ใช้งานระบบปฏิบัติการ Windows ตั้งแต่เวอร์ชั่น 7 ขึ้นไป (เช่น Windows 7,8 และ 10) ส่วน Windows รุ่นเก่ากว่านี้ จะไม่พบปัญหา

ซึ่งหลังจากทางทีมพัฒนาโปรแกรมได้ติดตามปัญหานี้ร่วมกับลูกค้าผู้ใช้งานบางท่าน ก็หาข้อสรุปได้ว่าปัญหานี้น่าจะเกิดตอนที่ Server บริหาร Cache ใน Memory ของตัวเอง โดยที่ Windows จะติดต่อกับ WinServer 2012 R2 โดยใช้ SMB3 (ซึ่งมีปัญหาเรื่อง ค่า default ของ Feature "Oplock" ใช้เพื่อ optimize การทำงานการอ่าน/เขียนข้อมูลบน Network) ซึ่งทาง Data Access World Wild ฟันธงแล้วว่า เป็นต้นเหตุที่ทำให้มีปัญหากับการแชร์ไฟล์แบบ FileBase ที่โปรแกรมบัญชี Express ใช้งานฐานข้อมูลลักษณะนี้อยู่

ดังนั้นการแก้ปัญหาทำได้ 2 วิธีคือ

1. Disable Oplock ของ Windows (ซึ่งท่านผู้ใช้งานที่ร่วมทดสอบแจ้งว่าลองทำแล้ว แต่ก็ยังคงพบปัญหา อย่างไรก็ตามอยากนำเสนอเอาไว้เป็นอีกหนึ่งทางเลือกครับ)

ให้ตรวจสอบแบบนี้กับทุกเครื่องที่ใช้ Windows 7,8 หรือ Windows 10 โดยเรียกโปรแกรม Windows PowerShell ขึ้นมา

(วิธีการเรียกโปรแกรมขึ้นมาใช้งาน คือ กดปุ่มคีย์ Windows ที่คีย์บอร์ด จากนั้นพิมพ์คำสั่ง powershell)

 

เรียกคำสั่ง powershell

 

เมื่อออกไปที่หน้าจอ PowerShell แล้วให้พิมพ์คำสั่ง Get-SmbServerConfiguration กด <Enter> แล้วดูค่าที่ตั้งไว้สำหรับ OpLock... จากในรูปจะเห็นว่าเปิดใช้งานอยู่ (ค่าเป็น True)

 

พิมพ์คำสั่ง get-smbserverconfiguration

 

จากนั้น แก้ Registry ของ Windows ที่คีย์ต่อไปนี้... (วิธีเรียกใช้งานโปรแกรมแก้ไข Registry คือกดปุ่มคีย์ Windows บนแป้นคีย์บอร์ด จากนั้นพิมพ์คำสั่ง regedit เข้าไป)

 

ยืนยันการใช้งานโปรแกรม registry editor


HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters OplocksDisabled = 1 (ถ้ามีอยู่แล้ว ก็ให้กำหนดค่าให้เป็น 1 แต่ถ้ายังไม่มี ให้เพิ่มเข้าไปครับ)

 

เพิ่มคีย์ dword เข้าไป

 

ตั้งชื่อคีย์เป็น OplocksDisabled โดยมีค่าเป็น 1

 

หน้าจอโปรแกรม Registry Editor หลังจากเพิ่มคีย์ OplocksDisabled เข้าไปแล้ว

 

หน้าจอหลังจากตั้งค่าเรียบร้อย

 

เ​สร็จแล้ว​ให้ Restart Windows 8 (อาจใช้คำสั่ง PowerShell ที่แจ้งไว้ข้างต้น ทำการตรวจสอบดูอีกทีว่า ค่า OpLock... เปลี่ยนไปตามที่ต้องการหรือไม่) แล้วทดสอบใช้งานดูอีกทีครับ

 

2. (ถ้าวิธีที่ 1 ยังไม่ work) ให้ลองตั้งค่าใน Registry ของ Windows ให้ไปใช้ SMB1 ดังนี้ครับ

เรียกโปรแกรม Windows PowerShell เมื่ออยู่ในหน้าจอ PowerShell แล้วให้พิมพ์คำสั่งดังนี้


Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol กด <Enter>

พิมพ์คำสั่ง Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol

 

มันจะแสดงประมาณว่า EnableSMB1 EnableSMB2 เป็นค่า true ทั้ง 2 ค่า ก็แสดงว่า Win8 เปิดใช้ทั้ง SMB1 และ SMB2 อยู่

จากนี้ เราจะปิดการใช้ SMB2 ใน Registry ของ Windows โดยถ้าค่าไหนยังไม่มี ก็ให้เพิ่มเข้าไปครับ (หรือคลิกขวาที่ลิ้งค์ ดาวน์โหลดไฟล์นี้ แล้วเลือก Save ไปไว้ในเครื่องที่เป็น Windows 7,8 และ 10 ทุกเครื่อง แล้วดับเบิ้ลคลิกที่ไฟล์ .reg นี้ เพื่อติดตั้งเข้าไปในเครื่องโดยอัตโนมัติ ไม่ต้องแก้ไขที่ Registry ตามวิธีข้างล่างนี้อีก)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters SMB2 = 0 (เพื่อยกเลิกใช้ SMB2)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters SMB1 = 1 (เพื่อเปิดใช้ SMB1)
เ​สร็จแล้ว​ให้ตรวจสอบโดยใช้คำสั่งเดิมของ PowerShell อีกที ดังนี้ครับ

Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol กด <Enter>
คราวนี้มันจะต้องแสดงว่า EnableSMB1 EnableSMB2 โดยแสดงค่าเป็น true และ false ตามลำดับ

 

ตรวจสอบค่า หลังจากแก้ไข registry เรียบร้อย

 

จากนั้นให้ลอง Restart เครื่อง Windows นี้ แล้วทดลองใช้งานดูอีกทีครับ โดยวิธีนี้คือการบังคับให้ Windows กลับไปใช้ SMB1 เพื่อแชร์ไฟล์แบบเก่า (แบบ Traditional)

 

หากมีปัญหาหรือข้อสงสัยเกี่ยวกับบทความชิ้นนี้ กรุณาฝากคำถามไว้ที่ เว็บบอร์ด
ขอความกรุณาอย่าโทรศัพท์สอบถามจากพนักงานฝ่ายบริการลูกค้าของบริษัท Express นะครับ 


http://www.esg.co.th

express,account,software,เอ็กซ์เพรส,ระบบบัญชี,โปรแกรมบัญชี,ทำบัญชี,บัญชีสำเร็จรูป,บัญชีคอมพิวเตอร์


บทความอื่นๆ ที่เกี่ยวข้อง


การกระทบยอด ภงด50, ภ.พ.30
การปฏิบัติในกรณีรับเช็คชำระหนี้แล้วเช็คมีปัญหา
ตัวอย่างวิธีการนำ Express ไปใช้งานกับธุรกิจผลิต
ซ่อนระบบบัญชี Express จากบุคคลที่ไม่เกี่ยวข้อง
การบันทึกรับคืนหรือส่งคืนสินค้าที่ซื้อ/ขายในปีก่อน (ประมวลผลสิ้นปีไปแล้ว)
ใช้โปรแกรมมาหลายปี ไม่เคยปิดบัญชี ต้องทำอย่างไร
ทำไมพิมพ์แบบฟอร์ม เส้นตารางกลายเป็นตัวเลขไทย
Perpetual/Periodic , FIFO/Average เลือกใช้แบบไหนดี
ปีใหม่ทีไร วันที่ไม่อยู่ในงวดทุกที ?
ปรับขนาดตัวอักษรของ Express ให้อ่านง่ายขึ้น
วิธีการปิดประมวลผลสิ้นปีในโปรแกรม Express
วิธีคำนวณค่าเสื่อมราคาทรัพย์สิน ของโปรแกรม Express
วิธีการแปลงข้อมูลจาก Excel มาใช้ใน Express
การใช้เว็บบอร์ดสอบถามปัญหา Express
การใช้งาน Express กับงานบัญชีในโรงพยาบาล
วิธีแก้ไขข้อผิดพลาดจากการยื่นภาษีผ่าน Internet
วิธียื่นภาษีผ่าน Internet
ทำความเข้าใจกับวิธีกำหนดสิทธิการใช้งานในโปรแกรม Express
ป้อนวันที่รับของแยกตามรายการสินค้าในใบสั่งซื้อ (ใบสั่งขายก็ทำได้เช่นกัน)
ทำความเข้าใจวิธีลงบัญชีของ Express
พิมพ์งานจาก Express ออกทางเครื่องพิมพ์แบบต่าง ๆ
วิธีคำนวณต้นทุนในโปรแกรม Express
การรวมรายการของรหัสลูกค้า 2 รหัส ให้เป็นรหัสเดียว
จัดเก็บข้อมูลให้ปลอดภัย-แยกข้อมูล
การนำรายงานจาก Express ไปใช้ใน Excel
ค้นหาเอกสารเพื่อตรวจทานได้ง่ายๆ
ปกป้องข้อมูลในโปรแกรม Express ให้ปลอดภัย