Wednesday, February 6, 2008

CRAXDRT Error Occured on Server. - 2147467259

วันนี้ผมได้ช่วยพี่คนหนึ่งซึ่งพบ Error ขณะกำลัง Export ข้อมูลจาก Crystal Report
โดยเป็นโปรแกรมที่ run อยู่บน asp page ซึ่ง Error ที่พบคือ

CRAXDRT Error Occurred on Server, -2147467259 : 006~ASP 0251~Response Buffer Limit Exceeded~Execution of The ASP page caused the Response Buffer to exceed its configured limit.

ผมลองค้นหาจากแหล่งต่างๆ และพบผู้บอกวิธีแก้ไขไว้ ดังนี้ (กระผมขออนุญาตยกมาทั้งข้อความเลยครับ)

CRAXDRT Error Occured On Server
CRAXDRT Error Occured On Server. - 2147467259 : 006~ASP 0251~Response Buffer Limit Exceeded~Execution of the ASP page caused the Response Buffer to exceed its configured limit.

Cannot export report into word file which contains a large amount of data. Cannot import Crystal Reports related to Agent and Skillset performance.

CRAXDRT Error Occurred on Server, -2147467259 : 006~ASP 0251~Response Buffer Limit Exceeded~Execution of The ASP page caused the Response Buffer to exceed its configured limit.

Request object error 'ASP 0104 : 80004005'

Operation not allowed.
/Reporting/Historical/outputfile.asp, line 223

Cause:
By default, Microsoft Internet Information Services (IIS) 6.0 sets the value of the AspMaxRequestEntityAllowed and AspBufferingLimit metabase key to 204,800 bytes.

Fix:
Edit the metabase.xml using Notepad and increase the values for AspMaxRequestEntityAllowed and AspBufferingLimit. For example, setting to 1073741824 will increase the file size to 1 GB.

Posted by lam at April 1, 2007 04:22 PM


แหล่งที่มา www.movement3.com (http://www.movement3.com/b/archives/2007/04/craxdrt_error_o.php)


ผมขออธิบาย ดังนี้
1. เนื่องจาก IIS6.0 ซึ่ง run อยู่บน Windows Server 2003 กำหนด buffer ไว้เพียง 4 MB (4194304) เท่านั้น
2. เดิมโปรแกรมนี้ run บน IIS5.0 บนหครื่อง Windows 2000 ซึ่งไม่พบปัญหา (ผมยังไม่มีเวลาไปดูว่าใน IIS5.0 มันกำหนด buffer ไว้เท่าไร)

แนวทางแก้ไข
1. เปิด IIS6.0 ขึ้นมา
2. คลิกขวาที่ Web Server(local computer) เลือก properties
3. ที่หน้าต่าง Web Server(local computer) Properties ให้คลิกเลือก "Enable Direct Metabase Edit"
4. กดปุ่ม Apply และ กดปุ่ม OK
5. เข้าไปยัง C:\WINDOWS\system32\inetsrv และเปิดไฟล์ชื่อ metabase.xml โดยใช้ NotePad
6. ค้นหาคำว่า AspBufferingLimit
7. แก้ไขค่าจาก 4194304 เป็นค่าที่เราต้องการ เช่น 15728640 (15 MB)
8. เลือก File --> Save
9. ปิด NotePad
10. ทำข้อ 1-2 อีกครั้ง แต่คราวนี้ให้เอาเครื่องหมายถูกหน้า "Enable Direct Metabase Edit" ออก
11. เสร็จพิธีกรรม นอนหลับฝันดี

ขอขอบคุณ lam จาก movement3.com ที่ได้เคย post ไว้เพื่อให้ผมได้เข้ามาหาทางออกได้
และขอบคุณคุณ MR.L สำหรับข้อมูลพาธไฟล์ที่ผมได้รู้จากกระทู้ของคุณ (http://greatfriends.biz/webboards/msg.asp?id=56100)

2 comments:

Anonymous said...

ขอบคุณมากครับ ผมกำลังเจอปัญหานี้อยู่พอดีครับ ถ้าไม่ได้กระทู้นี้คงแย่เลย / Yimyams

Unknown said...

ดีใจครับที่เป็นประโยชน์สำหรับคุณ Yimyams