โฮะๆ วันนี้จะมาเล่าเหตุการณ์ประหลาดให้ฟังค่ะ นั่งแก้ทั้งหมด รวมหัวกัน 4 คน สุดท้ายแล้วตัดสินใจยอมแพ้เลย asp.net นะคะ ยอมๆๆๆ
ความจริง
1. สามารถลง IIS ได้หลายเครื่องใน 1 เครื่อข่าย
2. IIS แต่ละเครื่องสามารถใช้ Port 80 ได้ ไม่ชนกัน
3. ในคอมเครื่องหนึ่งๆ ไม่นิยมลง Software ประเภท Web Server 2 ยี่ห้อ เช่น ไม่ลง IIS และ Apache ในเครื่องเดียวกัน
4. IIS 1 ตัว ก็สามารถมี WebSite ได้หลาย Web
ความคิดเห็น
1. สำหรับกรณีนี้ ผมว่าไม่จำเป็นต้องใช้ IIS 2 เครื่องหรอกครับ
ประวัติการแก้ไข 2012-01-26 16:28:52 2012-01-26 16:30:30
Date :
2012-01-26 16:24:35
By :
watcharop
อ๋อ ขอบคุณค่ะ
จริงๆก็ไม่อยากใช้ 2 เครื่องหรอกค่ะ แต่เครื่องที่ 1 มันชอบล่มบ่อยๆ เลยกัวตอนวันออกงาน ก็เลยสำรองเอาไว้ เผื่อต้องเสียเวลาแก้น่ะค่ะ
ส่วน IIS ใช้ Port 80 เหมือนกันได้หรอคะ
เดี๋ยวพรุ่งนี้จะลองไปแก้ port ดู เผื่อหาย วันนี้เหนื่อยแระ^^
Date :
2012-01-26 17:05:50
By :
mayapopy
จาก Error ผมว่ามันน่าจะเป็นที่ เรื่องสิทธิ์ Permission หรือถูก Lock ไว้ เพราะบางครั้งพวก Database Access จะมี Application บางตัวที่ทำงานผิดพลาด Lock Database ตัวนี้ไว้ และเวลา ตัวอื่น ๆ มาเรียกใช้ กลับไม่ได้ซะงั้น
Date :
2012-01-26 17:36:13
By :
webmaster
ถ้าหากมีวิธีในการเทส หรือ เซ็ตค่าตรงไหน บอกได้เลยนะคะ จริงๆรู้สึกคาใจอยู่มาก ไม่อยากปล่อยให้ปัญหานี้ค้างคาเลย ถ้าไงก็อยากลองเทสดูน่ะค่ะ
Date :
2012-01-27 09:25:43
By :
mayapopy
มีความคืบหน้าเล็กน้อยค่ะ (ตอนแรกๆนึกว่ารู้แล้วว่าสาเหตุคืออะไร พอไปๆมาๆก็....เหมือนเดิม)
คือ ตอนแรกๆคิดว่ามันเป็นเพราะว่า เครื่อง hr08-01 มันลง Access 2010 ก็เลย ถอนมันออก แล้วไปลง Access 2007 แทนค่ะ
จากนั้นเราก็ลองรันดู ปรากฏว่า มันขึ้น Error แบบนี้ค่ะ
Error: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
ตอนแรกๆดีใจมากเลย ที่มันเปลี่ยน Error แล้ว แล้วก็ไปหาข้อมูล เขาบอกว่าให้ไปดาวโหลด ตัวนี้มาลง http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23734
ประมาณว่า ขาด Driver
ปรากฏว่า พอลงไปเสร็จ มันขึ้นแบบเดิมค่ะ T_T
The Microsoft Office Access database engine cannot open or write to the file '\\hr09-01\Database\DbRegister.accdb'. It is already opened exclusively by another user, or you need permission to view and write its data.
คราวนี้เราก็เลยไปถอนตัว Database Engine ออก แต่มันไม่ยอมกลับไป Error เหมือนเดิมแล้ว
คราวนี้เลย ลองโทรไปถามอาจารย์ที่มหาลัย(ตัดสินใจลองดู) อาจารย์เขาบอกมาว่า เหมือนกับเป็นที่ โปรแกรมของเรามันพัฒนามาจาก Windows7 ที่เป็น 64 bit พอเราเอา โปรแกรมของเราไปติดตั้งใน IIS ของ Windows 7 ที่เป็น 32 bit มันเลยข้าม Platform ต้องไปแก้ที่โปรแกรม แต่พอเราเข้าไปที่โปรแกรม ก็คือที่ My Solotion ของเรา ---- Propertie --- Build ---- ปรากฏว่ามันไม่มีให้เปลี่ยน Platform ตามที่อาจารย์เขาบอก ก็เลยคิดว่า อาจารย์เขาเข้าใจผิดหรือเปล่า ถ้าเป็น vb.net มันจะเปลี่ยน platform x64 เป็น x86 ได้ แต่ถ้าเป็น asp.net มันจะไม่มีนะ (เท่าที่จำได้)
สรุป ยังคงติดปัญหาเหมือนเดิม เดี๋ยวอาทิตย์หน้า จะลอง Format เครื่อง hr08-01 แล้วลงเป็น Windows 7 64 bit ดูน่ะค่ะ แต่ไม่รู้ว่าจะแก้ได้หรือเปล่า-*-
Date :
2012-01-27 11:06:26
By :
mayapopy
ถ้าคิดว่าปัญหาแบบนั้น เอาโปรแกรมไป build ที่ 32 bit ครับ แล้วมาแก้ application pool ให้ app นี้ execute ไฟล์ 32bit
Date :
2012-01-27 11:11:33
By :
ikikkok
ไปเรียกผ่าน Map Drive มันเลยยุ่งยากครับ
Date :
2012-01-27 11:15:04
By :
webmaster
ตอบคุณ PlaKriM application pool มันคืออะไรหรอคะ?
ตอบพี่วิน แต่ถ้าเอา ดาต้าไปวางไว้ที่เครื่อง hr08-01 แล้วรัน ผ่าน \\hr08-01\Database\DbRegister.accdb' ผ่าน server hr09-01 มันรันได้ทุกเครื่องเลยอ่าค่ะ และถ้ารันผ่าน server hr08-01 ก็ยังรันได้อยู่ค่ะ ติดตรงที่ พอเอาไปวางที่เครื่องอื่น จะเป็นเฉพาะ server ของhr08-01 เท่านั้นที่รันผ่านไม่ได้
Date :
2012-01-27 12:13:56
By :
mayapopy
อันนี้ประสบการณ์ตรง เลยปล้ำกะมันมาเป็นอาทิตย์ ผมต้องการใช้ dll ตัวนึงซึ่งมันเป็น 32 bit โหลดยังไงก็ error ไม่ได้ซะที หาไปหามา ฝรั่งมันบอกว่าต้องไปแก้ที่ application pool ของ iis7 หาดูใน google ก็ได้ มันมีให้ set ว่าจะอนุญาตให้รันไฟล์ 32bit ไหม ประมาณนี้แหละครับ
Date :
2012-01-27 12:22:57
By :
ikikkok
หาไม่เจออ่ะ ต้อง ค้นหา คำว่าอะไรหรอคะ ถึงจะเจอ
....รบกวน เอาลิ้งค์มาแปะให้ได้ไหมคะ? แหะๆ
Date :
2012-01-27 14:48:39
By :
mayapopy
ใช่แบบนี้หรือเปล่าคะ?
http://blogs.msdn.com/b/rakkimk/archive/2007/11/03/iis7-running-32-bit-and-64-bit-asp-net-versions-at-the-same-time-on-different-worker-processes.aspx
แต่ ของเรามันน่าจะเป็น รัน 64 bit ใน 32 bit หรือเปล่า
คือว่า ตอนนี้กำลังงงว่า Web App ของเราพัฒนามาจากใน Win 7 ที่เป็น 64 bit แล้วเรานำไปติดตั้ง Server ที่เป็น 32 bit เราต้อง set ให้มันรัน จาก 64 เป็น 32 หรือว่า จาก 32 เป็น 64 น่ะค่ะ
Date :
2012-01-27 14:52:21
By :
mayapopy
ไปที่นี่
เพื่อดูว่า Application pool ชื่ออะไร
ไปคลิกขวาที่ Advanced Setting ที่ Application pool ตัวนั้น
ตรงนี้มั้งที่ PlaKriM พูดถึง
ประวัติการแก้ไข 2012-01-27 15:05:24
Date :
2012-01-27 15:02:23
By :
watcharop
ตอนแรกๆก็คิดว่าเป็นที่ตรงพี่หางอึ่ง บอกเหมือนกันค่ะ เพราะว่าเข้าไปแล้วเจอเหมือนกัน แต่ปัญหาก็คือ
พอเข้าไปที่เครื่อง hr09-01 มันเป็นแบบนี้ค่ะ
แล้วก็มีแบบนี้ ให้เลือกได้
แต่พอเราเข้าไปที่เครื่อง hr08-01 มันเป็นแบบนี้ค่ะ
แต่ปรากฏว่ามันไม่มีให้เลือก เหมือนกับ เครื่อง hr09-01 ก็เลยคิดว่ามันต้องไม่ใช่แน่ๆ
ตอนนี้เราคิดว่าปัญหานี้มันต้องเป็น เส้นผมบังภูเขาแน่ๆเลย
ประมาณว่าเราไปเซ็ตค่า หรือ ติดตั้งอะไรผิดสักอย่างนะคะ
ขอบคุณนะคะ^^
Date :
2012-01-27 15:58:48
By :
mayapopy
Setting นั้นจะมีเฉพาะเครื่อง 64 bit ครับ
Date :
2012-01-27 16:15:22
By :
watcharop
อ้าว อย่างนี้ก็ไม่น่าจะเกี่ยวกับประเด็นนี้ใช่ไหมคะ เพราะว่าตอนนี้มันมีปัญหาที่เครื่อง 32 bit
แต่โปรแกรมพัฒนามาจากเครื่อง 64 bit-*- งงจังแหะ
ประวัติการแก้ไข 2012-01-27 16:35:35
Date :
2012-01-27 16:35:00
By :
mayapopy
Load balance : Server 04