.NET รวมถึงฐานข้อมูลไลบรารีคลาส (และทรัพยากรอื่นๆ) พร้อมการปรับใช้แอป Windows

ฉันมีไลบรารีคลาสที่แนบฐานข้อมูล SQL Server ขนาดเล็กที่อยู่ใน Data Directory เมื่อฉันใช้คลาสไลบรารีนี้กับแอปพลิเคชัน Windows อื่น ฉันพบว่าเมื่อฉันคอมไพล์โค้ด ไฟล์ฐานข้อมูลจะถูกคัดลอกไปยังโฟลเดอร์ bin ของโปรเจ็กต์แอป windows ของฉัน อย่างไรก็ตาม เมื่อฉันเผยแพร่แอป Windows ติดตั้งและเรียกใช้ ฉันได้รับข้อผิดพลาด 'ความพยายามที่จะแนบฐานข้อมูลที่มีชื่ออัตโนมัติสำหรับไฟล์ C:\Documents and Settings\User\Local Settings\Apps\2.0\Data..\ DB.mdf ล้มเหลว' แน่นอนว่าโฟลเดอร์นี้ไม่มีไฟล์ mdf

ฉันเดาว่านี่จะไม่เป็นปัญหาหากฉันเพิ่มไฟล์ฐานข้อมูลลงในโปรเจ็กต์แอปพลิเคชัน windows ของฉัน แต่แน่นอนว่ามีวิธีที่ดีกว่านี้ใช่ไหม?


person Prabath Yapa    schedule 05.10.2010    source แหล่งที่มา


คำตอบ (1)


คุณสามารถรวมสคริปต์ SQL สำหรับสร้างฐานข้อมูลลงใน "การติดตั้ง/รันรูทีนครั้งแรก" ของคุณ

ฉันเดาว่าคุณได้ระบุไว้แล้วว่าการมีรูปแบบของ SQL Server เป็นข้อกำหนดเบื้องต้นในการติดตั้ง

สำหรับไฟล์ข้อมูล ฉันขอแนะนำให้คุณใช้สตริงการเชื่อมต่อแบบแปรผันเพื่อเข้าถึงฐานข้อมูลของคุณ ด้วยวิธีนี้ คุณสามารถเปลี่ยนขั้นตอนการติดตั้งเพื่อรวมการถามผู้ใช้ว่าพวกเขาต้องการติดตั้งไฟล์ข้อมูลไว้ที่ใด และบันทึกสิ่งนั้นเป็นส่วนหนึ่งของสตริงการเชื่อมต่อของคุณไปยังไฟล์ app.config

ในทางกลับกัน คุณยังสามารถใช้การเลือกตำแหน่งที่จะติดตั้งแอปโดยผู้ใช้เพื่อแทนที่เส้นทางสัมพันธ์ที่จัดเก็บไว้ในฐานข้อมูลภายในโค้ดของคุณ (โดยใช้ตัวแปรสตริงการเชื่อมต่อเดียวกันกับที่กล่าวไว้ข้างต้น)

person ChrisBD    schedule 05.10.2010