บทความนี้ขอเป็นการตอบคำถามเพื่อนสมาชิก Greatfriends ครับ
เข้าใจว่าผู้ตั้งคำถามต้องการ Deploy แอพพลิเคชันไปรันบนเครื่องอื่นโดยใช้ Database บน SQL Express 2005 ให้รันเฉพาะบนเครื่องนั้นๆ โดยไม่มีการติดต่อกับเครื่องใดๆ
จาก: ConnectionString ที่ฝังในโค้ด[REPLY #4 (85736)]นี้:
Public Shared strConn As String = "Data Source = .SQLEXPRESS;Integrated Security=SSPI; Persist Security Info=False;Initial Catalog=PJWMS;"
เห็นว่าเป็นการ เลือกการติดต่อแบบ Microsoft SQL Server ให้เปลี่ยนการติดต่อเป็นแบบ attach database ดังที่จะกล่าวดังต่อไปนี้:
สมุติว่าเป็นฐานข้อมูล ของ Northwind ให้เราทำการ Detach ออกจาก Server ของ SQL Server ก่อนดังรูปที่ 1 และรูปที่ 2: เพื่อว่าเราสามารถทำการ copy ฐานข้อมูล Northwind ไปไว้บน (local) โปรเจ็กต์ของเราเพราะเราจะใช้การเชื่มต่อแบบแนบไฟล์ฐานข้อมูลไปกับแอพพลิเคชันของเรา [จากคำถาม ให้เปลี่ยนเป็นฐานข้อมูล PJWMS]
รูปที่ 1: รูปที่ 2:
จากนั้นเราเข้าไปที่พาธ: C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataเพื่อทำการ copy ฐานข้อมูล Northwind ดังรูปที่ 3: ไปไว้ที่อื่น ในที่นี้ขอ เอาไปวางใว้ที่พาธ C:
รูปที่ 3:
ลากไฟล์ฐานข้อมูลเข้าไปในโปรเจ็กต์ดังรูปที่ 4: มันจะสร้าง Data Source ให้ดังรูปที่ 5:
รูปที่ 4: รูปที่ 5:
จะเห็นว่าไฟล์ฐานข้อมูลแนบอยู่กับโปรเจ็กของเรา ดังรูปที่ 6:
รูปที่ 6:
ถ้าเราไม่ใช้วิธี คลิกค้าง-ลาก-วาง ใช้การ Add New Item ได้เช่นกัน ดังรูปที่ 7 ถึงรูปที่ 11
รูปที่ 7: รูปที่ 8:
รูปที่ 9: รูปที่ 10:
รูปที่ 11:
ผลที่ได้เหมือนกัน ดังรูปที่ 12: ทำการ Build โปรเจ็กต์หนึ่งครั้งแล้วเข้าไปดูใน Bin เราจะเห็นไฟล์ฐานข้อมูลแนบไปกับไฟล์ .exe ของเรา ดังรูปที่ 13:
รูปที่ 12: รูปที่ 13:
connectionString ที่ได้: ดังรูปที่ 14 และสามารถเปิดดูได้ในไฟล์ config ชื่อ app.config
รูปที่ 14: app.config
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> </configSections> <connectionStrings> <add name="WindowsFormsApplication3.Properties.Settings.NORTHWNDConnectionString" connectionString="Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|NORTHWND.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>
การ Deploy แอพพลิเคชัน
ให้สร้างโปรเจกต์ Setup and Deployment ดังรูปที่ 15:
รูปที่ 15:
รูปที่ 16 – 17 กด Next จะได้โปรเจ็กต์ Setup มาหนึ่งโปรเจ็กต์ ดังรูปที่ 18:
รูปที่ 16: รูปที่ 17:
โปรเจ็กต์ Setup and Deployment ชื่อ Setup3 ดังรูปที่ 18:
รูปที่ 18:
เราทำการแนบ ตัว SQL Server EXPRESS ไปกับตัว setup ของเราด้วย เพื่อว่าเครื่องที่ยังไม่มีโดยทำตามรูปที่ 19: โดยติกเลือก Download prerequisites from the same location as my application เป็นการเลือก package ติดตั้งของ SQL EXPRESS จากไฟล์ setup ของเราเอง
รูปที่ 19:
จากนั้นทำการ Build โปรเจ็กต์ Setup3 แล้วเข้าไปตรวจสอบใน Folder Debug เราจะเห็นสรรพสิ่งที่เราต้องการดังรูปที่ 20:
รูปที่ 20:
การติดตั้งทำโดยคลิก ไฟล์ Setup ในรูปที่ 20:
ขอให้โชคดี:
No comments:
Post a Comment