ข้ามไปที่เนื้อหาหลัก

ตั้งค่า Windows Mobile 6 Emulator ให้ติดต่อกับ Database SQL Server 2008 ได้


OS : Win 7 x64 Professional
IDE : Visual Studio 2008 Professional
EMU : Windows Mobile 6.1 SDK Professional
Framework : .NET Compact Framework 3.5
DB : MSSQL Server 2008 Professional

     จากบทความ เขียนโปรแกรม Visual Studio 2008(.NETCF3.5) กับ Windows Mobile 6 ติดต่อกับ Database MSSQL Server 2008 โดยตรง (ไม่ได้ใช้ SQLCE)  ที่สามารถRun ให้ pocket Device เชื่อมต่อกับ Database SQL server ได้โดยตรง ไม่ต้องผ่าน SQLCE แล้ว แต่พอกลับมา Run บน Windows Mobile 6 EMu ดันใช้ไม่ได้ซะงั้น ทั้ง ๆ ที่สามารถ Access File บนเครื่อง Server และเล่น Internet ได้แล้วแท้ ๆ


ใช้กับ PDA BlueBird ดึงข้อมูลมาใส่ DataGrid ได้ปกติ 

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

1. ต้องทำให้ตัว EMulator ติดต่อกับ Network ได้โดยตรง ไม่ต้องผ่าน ActiveSync ก่อน โดยไปที่หน้าต่างของ Emulator (ถ้าไม่เจอก็ run project ค้างไว้ ให้มีขึ้นหน้าต่างของ EMU) เลือกเมนู File->Configuration เพื่อเข้าหน้าจอ Configuration


เข้า menu config ที่หน้าจอ emulator

2. ที่ tab "Network" ให้ Check ที่ "Enable NE2000 PCMCIA Network adapter and bind to" แล้วพอกดตกลงมันจะไม่ Save แล้วฟ้องว่า ไม่ได้ติดตั้ง Virtual PC แล้วมี Link ให้เสร็จสรรพ


ติ้กถูก Enable แล้วกด OK มันจะไม่ให้ Save

เข้าไป Download VirtualPC ได้ ที่นี่  มันจะเป็น Version 2007SP1 (Windows Virtual PC ที่ให้มากับ Windows 7 ใช้ไม่ได้ต้องติดตั้งใหม่ แล้วถ้าใช้ Windows 64 Bit แนะนำให้ download 32 bit มาด้วย)

3. ถ้าเป็น Win7 x64 ให้ติดตั้ง Virtual PC 2007SP1 ตัว 64 bit ก่อนมันจะฟ้อง Error ตั้งแต่ขั้นตอนแรกเลย ตัว Setup Wizard ยังไม่มาด้วยซ้ำ ถ้าเกิดอย่างนั้นให้ติดตั้งตัว 32 bit แล้วหน้าจอ Setup Wizard จะใช้ได้ แต่มันไม่ยอมติดตั้งให้บอกว่าไม่ Support 64 bit แล้วค่อยกลับมาติดตั้งตัว 64 bit อีกรอบ คราวนี้ผ่านชัวร์ (อาจต้อง restart)

4. กลับไปที่หน้าจอ WinMo 6Emulator ไปติ๊ก Enable NE2000 bind to พอกด OK จะเห็นว่ามันไม่ฟ้อง Error แล้ว คราวนี้ก็ Set ค่าที่ตัว WinMo ให้เล่นเนต และ เข้า share folder ได้ เพื่อยืนยันว่ามันต่อ network แน่นอนแล้ว ที่ต้อง set ก็ตามด้านล่าง 

4.1 ที่หน้า Home ไปที่่ Setting->Connection->Network Card เลือก "My Network Card connect to" เป็น Internet


เลือก "My Network Card connect to" เป็น Internet

4.2 คลิ้กที่ NE2000 Compatible Ethernet Adapter เพื่อเข้าไป Set ค่า IP Address, DNS, และ Gateway


Set ค่า IP Address, DNS, และ Gateway

4.3 กลับไปหน้า Home แล้วไปที่ Setting->Connections->Connections->Advanced-> Select Network เลือก Network Management ส่วนของ Connect to the internet และ Connect to private network ให้เป็น "My Work Network" ทั้งคู่


เลือก Network Management ส่วนของ Connect to the internet และ Connect to private network ให้เป็น "My Work Network" ทั้งคู่

4.5 ที่หน้า Network Management ส่วนของ Connect to the internet ให้คลิ้่ก Edit -> Proxy Settings แล้วติ๊กถูกที่ "This network connects to the Internet"


เลือก "This network connects to the Internet"


5. ลอง Test ดูว่าเข้า Internet และเข้าส่วน file sharing ของ windows ได้หรือเปล่า


ทดสอบต่อ Internet ด้วยการเปิด google

ทดสอบเข้าใช้ File Sharing จากเครื่อง Server (เข้าด้วย IP ไม่ได้ ต้องเข้าด้วยชื่อ ประหลาดแท้) 

6. คราวนี้ลอง Run โปรแกรมเพื่อทดสอบว่าเชื่อมต่อกับ SQL Server ได้หรือยัง ปรากฏว่า ยังไม่ได้แฮะ

ใช้ Data source เป็น IP Address ขึ้น Error Platform Exception 

พอเปลี่ยน Data Source เป็นชื่อเครื่อง Error ก็เปลี่ยนเป็น SqlException 

ที่น่าสงสัยก็คือ ตอน Run กับตัว Pocket Device BlueBird ก็ไม่เกิด Error ใด ๆ ทั้งแบบใช้ IP Address และ แบบใช้ ชื่อเครื่อง แสดงว่า ตัว Pocket Device มันต้องมีอะไรแตกต่างจากตัว Emu เป็นแน่ ลองถามอากู่ถึง Error ทั้งสองแบบหมดไปกว่า 2 ชม.ก็เจอประเด็นเกี่ยวกับ Error "PlatformnotFoundException" ที่นี่  
เมื่อลองตรวจสอบแล้วพบว่าเป็นปัญหาเกี่ยวกับเรื่อง Callation หรือประมาณเรื่องการรองรับภาษาของตัว Database คร่าว ๆ ว่าให้แก้เป็น Latin หรืออะไรสักอย่าง แต่ database เราเป็น Thai (ซึ่งก็ควรเป็นอย่างนั้น)


Database Collation เป็น Thai_CI_AS

แล้วก็เอะใจไปเห็นตัว Pocket Device มันติดตั้ง Program "PDAMobizThaiEnabled" เอา ประมาณว่าลงภาษาไทยให้เครื่องจากการวิเคราะห์แล้วน่าจะเกิดจากปัญหาWinMo 6 Emu ไม่ได้ลงภาษาไทย จึงไม่รอช้าจัดการติดตั้งเข้าไปโลด เย้.....................ใช้ได้แว้วววววววววววววววว.....................


ใช้ Data Source เป็น IP Address สามารถดึงข้อมูลจาก SQL Server มาใส่ใน Grid ได้อย่างสวยงาม (แต่พอเปลี่้ยน Data Source เป็นชื่อกลับ Error ซะงั้น)

ความคิดเห็น

  1. ถูกใจ ใช้ได้ผล ก็กด LIKE & Share ได้นะคร้าบบบบ....

    ตอบลบ
  2. ผมลง Microsoft Virtual PC 2007 SP1 แล้วแต่ยัง Enable NE2000 PCMCIA Network adapter ไม่ได้ มันถามหา Visual PC 2007 อีกเหมือนเดิมครับ ต้องตั้งค่า Visual PC 2007 ด้วยไหมครับ
    ลองทำดูหลายรอบลบลงใหม่ก็ไม่ได้เหมือนเดิม ลองจนปวดตับเลย ครับ 555

    ตอบลบ
    คำตอบ
    1. พรุ่งนี้ช่วงบ่ายว่าง เดี๋ยว remote ไปดูให้นะครับ

      ลบ
    2. OK ครับพร้อมทั้งวันเลยครับผม

      ลบ
    3. ตอนนี้ใช้ได้หมดแล้วครับทั้ง Emulator และ device ผมลงตามนี้เลยครับ http://www.petenetlive.com/KB/Article/0000241.htm อิอิ

      ลบ

แสดงความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

เทคนิคการสอบใบขับขี่รถยนต์ ท่าจอดรถเทียบฟุตบาทห่างไม่เกิน 25cm ด้วย "Sticker"

วันนี้พาพี่ที่บ้านไปสอบใบขับขี่รถยนต์ครั้งที่ 3 ซึ่งสอบตกท่าจอดรถเทียบฟุตบาท โดยคนขับรถเป็นแล้วจะรู้สึกว่าไม่เห็นจะยากตรงไหน แต่สำหรับคนที่เพิ่งหัดขับรถ ประกอบกับได้จับรถป้ายแดงที่เพิ่งถอยออกมาขับได้ ไม่ถึง 5 ชม. นั้นเป็นเรื่องที่ยากจะทำได้ ผมคนหนึ่งที่ได้ใบขับขี่มานาน แต่พอให้มาขับจอดเทียบฟุตบาทด้วยรถป้ายแดงใหม่เอี่ยมของคนอื่นแล้ว มีอันต้องจอดห่างทุกที ด้วยเวลาในการซ้อมขับที่เหลือไม่ถึง 3 ชม. ก่อนสอบจริง ทำให้ต้องคิดหาเทคนิควิธีต่าง ๆ ที่จะทำได้ใบขับขี่มา (เพราะเหนื่อยกับความพยายามสอบมา 2 ครั้งแล้ว) จนทำให้คิดเทคนิค "Sticker" นี้ขึ้นได้ โดยปกติแล้วถ้าขับรถจอดเทียบฟุตบาทแล้วพยายามมองกระจกข้างให้ล้อหลังชิดเส้นขอบพอดี ผลออกมาจะทำให้ล้อหน้าปีนฟุตบาท ไอ้ครั้นจะให้พี่ที่เพิ่งหัดขับรถมาได้ไม่ถึง 8 ชม. กะขนาดตัวรถให้ได้ (ซึ่งขนาดผมเองยังคงกะลำบาก) ภายในสิบห้านาทีนั้นโอกาสเป็นไปได้ยากมาก ด้วยการทดลองเทคนิคต่าง ๆ หลาย ๆ แบบ ที่พอจะนึกออกจากประสบการณ์และเวลาอันสั้นรวบรัด ก็ทำให้เกิดแนวคิดที่ว่า ทำอย่างไรให้สามารถมองล้อหน้าว่าติดเส้นขอบหรือเปล่า ได้เหมือนกับที่ใช้กระจก

ทำ TP-Link TL-WA850RE v1.2 ลง OpenWrt ทำเป็น Range Extender และ auto login Hotspot (WISP Mode)

(ลอกคำพูด  บทความเก่า ) สืบเนื่องจากได้รับการแจก Wifi Range Extender TP-Link TL-WA850RE มาเพื่อใช้กระจายสัญญาณ Wifi ของบ้านพัก ที่เป็น GPON ปัญหาคือ TP-Link มันกากกกกกกกกกก..............มากกกกกกกกกกกกกก กล่าวคือ 1. ปัญหา ping กากกกกก.......... เริ่มใช้งานก็ดีอยู่ ping ไป Gateway ได้ ราว 5-10ms แต่พอใช้ไปสัก 3-4 ชม. มันจะ ping ขึ้นเป็น  400-500ms รู้สึกได้เพราะใช้ Remote Desktop ตลอด เม้าส์มันจะกระตุก ๆ ๆ ๆ จนน่ารำคาญ วิธีแก้แสนง่าย (แต่ไม่ยั่งยืน) คือ สั่ง reboot หรือ ชักปลั๊กเสียบใหม่ 2. ปัญหาเนตตัด แน่นอน ระบบ authen พรบ.กำหนดว่า "ของมันต้องมี" ถึงแม้จะตั้งเวลา TimeOut ให้ถึง 24 ชม. แต่มันก็ไม่คล่องตัว เพราะติดกล้องวงจรปิดไว้ดูผ่านเนตตอนไม่อยู่บ้าน แต่พอจะดูกลับ "ดูไม่ได้" เพราะ "เน็ตตัด" ช่างเจ็บกระดองใจจริง ๆ เรื่องเนตตัดที่บ้านก็มี Router LinkSys WRT-350N อยู่ซื้อตอนทำวิจัยปี 51 รูดปรื๊ดมาตั้ง 6500 (ตอนนี้เสียดายตังค์มาก) ซึ่งลง DD-WRT v24sp2 เรียบร้อย ตั้งใจจะทำ auto login แต่ดันมาตายจากไปเสียก่อน ระหว่างพยายามหา Router Linksys WRT54GL ในตำน

ทำ Linksys WRT54GL v1.1 ลง DD-WRT ให้เป็น auto login Hotspot (WISP Mode)

สืบเนื่องจากได้ Router Linksys WRT54GL มา เลยอยากเอามาทำ auto login ให้เหมือน NanoStation M5  ก็เลยต้องพึ่งพา Firmware DD-WRT v24 SP2 mini build 12548M NEWD Eko แต่ทว่า มันไม่มี Station Mode ให้เลือก จากการหาข้อมูลถึงให้รู้ว่าต้องเลือกเป็น Client Mode จากนั้นก็ตั้งค่าปกติ แต่ทำแล้วติด dns cannot resolve ต้องตั้งค่าปลด  UseDNSMasq on DHCP ออก ก็สามารถใช้งาน DNS ได้ เริ่มใส่ script auto login แต่ติดที่ว่า DD-WRT ไม่มี persistence storage พอสร้างไฟล์ script เสร็จ มันก็หายตอนเครื่อง restart ค้นหาข้อมูลก็เจอแนวทางให้ใช้ Startup Script สร้าง script file ตอนเริ่มบูตเครื่องเลย ดังภาพ - script มีการเปลี่ยนนิดหน่อย เพราะ wget ใช้เหมือนเดิมไม่ได้ Startup Script มีดังนี้ echo '#!/bin/sh' > /tmp/autologin.sh echo 'count=$(ping -c5 -w5 8.8.8.8 | grep "100% packet loss" | wc -l)' >>/tmp/autologin.sh echo 'if [ "$count" -gt 0 ]; then' >> /tmp/autologin.sh echo ' wget -O /dev/null "http://172.168.1.1/CheckVali