Fri 6 Oct 2006 09:35:24
ขอขอบพระคุณน่ะครับที่ให้คำแนะนำ ผมขอเล่าเรื่องงานที่ผมต้องทำให้ฟังก่อนน่ะคับ
คือ " ทางบริษัทที่ผมเพิ่งเข้ามาทำงานน่ะคับ เข้ามีระบบซื้อขายอยู่แล้วแต่เป็นระบบ Offline ใช้กันภายในบริษัท โดยมีระบบเรียบร้อยแล้วเค้าใช้ Delphi + Ms SQL Server 2000 พัฒนาครับ คือจะมี Process การทำงานแบบนี้ครับ เมื่อลูกค้ามีการสั่งซื้อของ ก็จะถือใบ Order มาที่บริษัทเพื่อทำการซื้อของ คนที่จะซื้อของ(ลูกค้า)ต้องเป็นสมาชิกกับบริษัทเท่านั้น ดั้งนั้นเมื่อมีการซื้อของ ลูกค้าคนนั้นก็จะมียอดการสั่งซื้อสะสม ซึ่งลูกค้าก็จะมี username + password ที่ทางบริษัทออกให้ แต่หากลูกค้าจะเข้ามาดูยอดซื้อสะสมของตน ก็ต้องเดินทางมาที่ บริษัทเพื่อทำการสอบถาม หรือ อาจจะ Login เครื่องคอมพิวเตอร์ที่อยู่ในบริษัทของผมเท่านั้น ทางหัวหน้า IT ก็เลยมีแนวคิดว่า น่าจะให้เค้า(ลูกค้า) สามารถ Login จาก websit ได้ดีกว่าจะได้ ออนไลน์ ได้ทุกที่ และอยากรู้ยอดการสั่งซื้อหรือ แก้ไขข้อมูลส่วนตัว ก็สามารถแก้ไขได้เลย โดยผ่าน Web Application ที่ผมต้องทำขึ้นมา o(-_-")o (เวงกำ) โดยใช้ username + password ที่ทางบริษัทออกให้ลูกค้าครับ " ดังนั้นผมขอคำแนะนำคำปรึกษาเป็นข้อๆน่ะคับ ผมก็พอจะเขียน PHP ได้ในระดับหนึ่งครับ เขียนแต่ website e-commerce ครับ ไม่เคยเขียนระบบแบบนี้ครับ o(-_-")o
1. ปัญหาแรกครับ คือข้อมูลลูกค้าที่อยู่ใน Ms SQL SERVER ที่อยู่ใน บริษัทนั่น ผมต้องการ Export ออกมาใส่ใน My SQL ที่ทางบริษัทเช่า Host ไว้โดยใน Ms SQL Server มี Table 20 กว่า Table แล้วในนั้นก็มีข้อมูลลูกค้าหมดเรียบร้อยแล้วครับ ปัญหาใหญ่ของผมก็คือ จะต้องเอาข้อมูลใน Ms SQL มาใส่ใน MySQL ซื่งต้องนำเข้าทั้งหมดทั้ง Table + Field + Dataลูกค้า ผมควรจะทำอย่างไรดีครับใช้วิธีการไหนดีครับที่จะได้ข้อมูลใน Ms SQL Server ทั้งหมด มาใส่ใน MySQL ครับ
2. ปัญหาต่อมาครับ คือ หากในกรณีที่ลูกค้าสั่งซื้อของที่บริษัท ทางพนักงานก็จะทำการ Key ข้อมูลจากโปรแกรม Delphi เก็บลง Ms SQL Server ที่ใช้กันอยู่ภายในบริษัทตามปกติ ทางหัวหน้าผมเค้าต้องการให้ ทำการ Update ลง ใน Database MySQL ด้วยครับ อาจจะเป็นแบบ RealTime เลย ( คือแบบนี้ครับ Server ที่เป็น Delphi + Ms SQL Server นั้นใช้กันภายในบริษัท Offline แต่ Server(Host) ที่ผมเช่าใช้ทำเว็บมันคนละที่กันครับ) ผมต้องเขียนโปรแกรมมาทำการอัปเดทเอง(ตายแน่ๆๆครับ ไม่เคยทำเลย) แต่ทางหัวหน้าเค้า Guide Idea มาว่า ในช่วงแรกอาจจะให้ทาง programmer ที่เขียน Delphi + Ms SQL Server นั้น Export data ใน Ms SQL Server มาเป็น text file ก็แล้วก็ให้ผมเขียนโปรแกรมทำการนำเข้าข้อมูลที่ถูกส่งออกมาเป็น Text File.txt นั้น ใส่ใน My SQL เอง โดยอาจจะทำหน้า Browse ให้ Programmer คนนั้นส่งไฟล์เข้ามาไว้ แล้วผมก็ทำการ Update เข้า MySQL โดยอาจจะทำทุกวันตอนเย็นครับ
3. ผมควรจะใช้แบบไหนครับ ผมคำว่าผมอาจจะใช้คำสั่งเปิด text file แล้วก็เอาเข้าไป Update (แต่ยังไม่เคยเขียนเลยครับ แต่ต้องหาข้อมูลครับ ผมจะพยายามมากกว่าเดิม) เพราะว่าใน อนาคตเค้าจะตัดระบบออกมาจากบริษัทเลย คือจะให้ลูกค้าสั่งซื้อผ่านเว็บเลยครับ(อันนั้นเป็นเรื่องของอนาคตครับ แค่นี้ผมก็จะตายแล้วครับ ทำคนเดียวด้วย) -_-"
** ผมอยากรบกวนถาม ขอแนวคิด วิธีการทำ หรือจะทำแบบไหนดีครับ ขอบพระคุณน่ะครับที่ช่วยเสียเวลามาตอบคำถามครับ ผมจะพยายามทำให้ได้ครับ มันท้าทายดีน่ะครับ แล้วก็อยากจะพิสูจน์ตัวเองว่าทำงานแบบนี้ได้เหรอเปล่าด้วยน่ะครับ ขอบพระคุณคับ
1. ทำตาม flow ของคุณคือ มีทั้ง offline และ online โดยมี automation data adapter ทำการ sync database ทั้งสองเข้าด้วยกัน แน่นอนว่าจะต้องมี schedule task เพื่อทำ automation อย่างไรแล้วคงไม่ตั้งให้ update ทุกนาที เนื่องจากการ sync นาจะใช้เวลามากกว่า 1-2 นาทีแน่นอน
2. ทำเป็น centralize system ไม่ต้องทำการ syncronize database เป็น real-time จริงๆ
ส่วนตัวแล้วถ้าเป็นผมเลือกวิธีที่ 2 ครับไหนๆก็ต้องทำระบบเหมือนๆกันแล้ว จะต้องไปเขียนโปรแกรมเพื่อ sync อีกทำไม ต้องใช้เวลาทดสอบอีก การสั่งซื้อทั้งหมดก็ทำเป็น on-line ใน office ก็ทำการซื้อ on-line แต่อาจจะแยกระบบจากลูกค้าที่มาจากหน้าเว็บไซท์ เป็นระบบหน้าบ้าน (storefront) และหลังบ้าน (backoffice) ซึ่งในระบบราชการและบริษัทขนาดกลางถึงใหญ่ก็จะใช้โครงสร้างแบบนี้ทั้งนั้นครับ ซึ่งสามารถต่อยอดในการทำระบบ storefront ได้ง่ายด้วยครับ
ถ้าต้องการ export จาก MSSQL ก็ตามกระทู้ก่อนหน้านี้เลยครับ เคยทำวิธีนี้แล้วเร็วสุด
ต้องเลือกระบบที่เสถียรเชื่อถือได้ และทางเราต้องทำการ backup อย่างน้อยวันละครั้งครับ
ปัญหาคือ application ที่เขียนด้วย delphi นั้นที่คงจ้างเขียนขึ้นมานั้นจะไม่ถูกใช้อีกครับ

















