1. ถ้าแก้ไขให้รันบนเครื่องตัวเองได้โดยแก้ web.config ของ project ที่เรียก report server
<authentication mode="Windows"/> <!-- อันนี้น่าจะมีอยู่แล้ว -->
<identity impersonate="true" /> <!-- อันนี้น่าจะยังไม่มีอยู่ให้เราเพิ่มซะ -->
# ซึ่งตั้งค่าประมาณนี้ impersonate เป็น true คือแสร้างทำตัวเป็น user บนเครื่องนั้นเอง อาไรประมาณนั้น
# แต่ role ของรายงานนี้ยังไม่ต้องเพิ่ม user อื่นให้เค้านะ
The permissions granted to user 'CLIENDOMAIN\IUSR_CLIENDOMAIN' are insufficient for performing this operation. (rsAccessDenied)
# รู้สึกว่าวิธีนี้จะไม่เวิร์ค ถ้าเรียกรายงานจาก client อื่นๆ เค้า error aspnet เหมือนเดิมหว่า กำจริงๆ รันได้แต่เครื่องตัวเอง
2. วิธีที่ 2 ถ้าเราได้ทำตามข้อ 1 ให้เราแก้ให้เหมือนเดิมซะ
# web.config ให้เราไปลบบรรทัดนี้ออกแล้วบันทึกซะ ถ้ามีนะ แต่ถ้าไม่มีก็ไม่ต้องทำอาไรเค้าอ่ะ
<identity impersonate="true" />
# แล้วลองเพิ่ม role ให้ตัว report ที่เรียกโดยโปรเจค โดยเพิ่ม aspnet เข้าไปอีก 1 user ปกติที่มีอยู่แล้วคือ administrator โดยเพิ่มผ่าน report manager
# http://localhost/reports => click Report name => click Properties => Security
# แต่ก็ขึ้นข้อผิดพลาดแบบนี้อ่ะ login ไม่ได้อ่ะ
* An error has occurred during report processing.
Cannot create a connection to data source 'db_name'. + Cannot open database "db_name" requested by the login. The login failed. Login failed for user 'DOMAIN\ASPNET'.
# ทั้งเครื่องตัวเอง และ client อื่นด้วยหว่า error หมดเลยทีนี้ อืมประเด็นน่าจะอยุ่ที่ aspnet แหละ user นี้ล่ะมีปัญหากับ report
# หรือว่าน่าจะมีปัญหาตอนสร้าง report ด้วยป่าวหว่า เพราะเราสร้างโดยใช้ windows authen หว่าน่าจะเกียวกันมั้ยเนี๋ย
# ต้องลองสร้างใหม่ก่อน หรือ ลองแก้ login database ของ report ลองใช้แบบ sql authen นั้นดูก่อน
# ได้ด้วยแหละ รันได้ทั้งเครื่องตัวเองและ client ทุกเครื่องเลยเย่ (อย่าเพิ่มชื่อ aspnet เข้า role ของ report ด้วย เลือกแค่ Content Manager น่าจะพอ)
# น่าจะเข้าไปแก้ที่ report manager ได้มั้ยน้า น่าจะได้เหมือนกัน
Solved
- สร้าง report ให้ใช้ authen แบบ sql user ไม่ใช้ windows user
- เพิ่ม aspnet เข้า role ของ report นั้นๆ เลือกแค่ content manager น่าจะพอ
- ถ้าเรามีรายงานอยู่แล้วแต่ ใช้ windows mode สำหรับ authen ให้เราเปลี่ยนเป็น sql mode authen น่าจะแก้ได้ แต่ ไม่รู้ต้องแก้ไงหว่า ^^'
References
No comments:
Post a Comment