นี่เป็นครั้งแรกที่ฉันโพสต์ที่นี่ ฉันคิดว่าสถานที่นี้ดีมากเพราะฉันสามารถบังคับตัวเองให้บันทึกความยากลำบากและแนวทางแก้ไขได้ทันท่วงที ฉันเคยทำหลายสิ่งหลายอย่างมาก่อน แต่ฉันก็ลืมมันไปนานแล้ว . การเขียนลงไปก็ถือเป็นการให้กำลังใจตัวเองได้ แน่นอนว่าฉันหวังว่าจะสามารถช่วยทุกคนได้ แต่ท้ายที่สุดแล้ว ความสามารถของฉันมีจำกัด ดังนั้นฉันจึงต้องขอคำแนะนำเพิ่มเติมจากผู้เชี่ยวชาญ
หลังจากติดตั้ง vs2005 หากคุณเลือกที่จะติดตั้ง SqlExpress ทุกอย่างจะถูกกำหนดค่าตามค่าเริ่มต้น ลาก "การควบคุมการเข้าสู่ระบบ" และคุณสามารถใช้งานได้ แต่ดูเหมือนว่าจะไม่เพียงพอ ตกลง ติดตั้ง SqlServer ต้องใช้ความพยายามอย่างมากในการติดตั้งก่อน . ฉันจะไม่ลงรายละเอียดมากเกินไปที่นี่
พบ
มันใน msdn ดูโค้ดด้านล่าง
2 <สตริงการเชื่อมต่อ>
3 <ลบชื่อ = "LocalSqlServer"/>
4 <เพิ่มชื่อ = "LocalSqlServer"
5 ConnectionString = "แหล่งข้อมูล = localhost;
6 แค็ตตาล็อกเริ่มต้น=appservicesdb;
7 ความปลอดภัยแบบรวม = จริง"
8 providerName = "System.Data.SqlClient"/>
9 </สตริงการเชื่อมต่อ>
10 </การกำหนดค่า>
ต่อไปนี้เป็นคำไม่กี่คำในบรรทัดที่ 7 หากเป็นไปตามการตรวจสอบหน้าต่าง ให้เขียนเช่นนี้ แต่ผู้ใช้ (Windows 2003) จำเป็นต้องตั้งค่าผู้ใช้ ไม่เช่นนั้นรหัสนี้จะไม่ผ่าน **, pwd=*** เนื่องจากฉันต้องย้ายข้อมูลในภายหลัง เว็บและเซิร์ฟเวอร์ sql จึงถูกแยกออกจากกัน และฉันชอบอย่างหลังมากกว่า สิ่งที่
ฉันสับสนมากคือประโยคที่สาม ฉันไม่รู้ว่าทำไมจึงใช้การลบ นี่คือคำอธิบายใน msdn :
1 <สตริงการเชื่อมต่อ>
2 <เพิ่ม />เพิ่มสตริงการเชื่อมต่อในรูปแบบของคู่ชื่อ/ค่าให้กับคอลเลกชันสตริงการเชื่อมต่อ
3 <clear />ลบการอ้างอิงทั้งหมดไปยังสตริงการเชื่อมต่อที่สืบทอด อนุญาตเฉพาะรายการที่เพิ่มโดยองค์ประกอบเพิ่มปัจจุบัน
4 <remove />ลบการอ้างอิงถึงสตริงการเชื่อมต่อที่สืบทอดมาจากคอลเลกชันสตริงการเชื่อมต่อ
5 </สตริงการเชื่อมต่อ>
6
7
ฉันไม่รู้ว่าคุณสังเกตเห็นหรือเปล่า แต่ถ้าฉันลบคำว่าลบออก จะมีการรายงานข้อผิดพลาด หลังจากเกิดปัญหามากมาย ย่อหน้า <connectionStrings /> ก็เทียบเท่ากับการโอเวอร์โหลด ลองคิดดูว่าเหตุใดคุณจึงเชื่อมต่อตามค่าเริ่มต้นใน SqlExpress ได้ ฉันเคยใช้งาน Unix และ Linux มาก่อน และความประทับใจที่ยิ่งใหญ่ที่สุดคือไฟล์การกำหนดค่า ทุกสิ่งทุกอย่างจำเป็นต้องได้รับการกำหนดค่า และเมื่อคุณกำหนดค่าแล้ว โครงสร้างจะชัดเจนมากและทุกอย่างจะได้รับการกำหนดค่าโดยใช้ข้อความ ฉันมักจะสับสนเล็กน้อยเมื่อใช้สิ่งต่าง ๆ ของ Microsoft และฉันไม่รู้ว่ามันเชื่อมโยงกันอย่างไร ตอนนี้ Microsoft รู้สึกว่าไฟล์การกำหนดค่าดีขึ้นมาก ฉันนอกเรื่องนิดหน่อย ดังนั้นกลับมาใหม่เร็วๆ นี้ ดังนั้นฉันจึงรู้สึกเหมือนกำลังมองหาไฟล์การกำหนดค่า แต่จริงๆ แล้วฉันพบมันแล้ว มีโค้ดส่วนหนึ่งใน machine.config ดังนี้:
1 <สตริงการเชื่อมต่อ>
2 <เพิ่ม
3 ชื่อ = "LocalSqlServer"
4 ConnectionString="แหล่งข้อมูล=.SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;อินสแตนซ์ผู้ใช้=true"
5 providerName = "System.Data.SqlClient"
6 />
7 </สตริงการเชื่อมต่อ>
8
พบที่มาแล้วประโยคนี้อยู่ที่ทำงาน เมื่อคุณเริ่มเพจที่คุณแก้ไข ไฟล์ web.config ของคุณจะถูกเรียกก่อน เมื่อพบว่าไม่มีการกำหนดค่าใน web.config ให้ไปที่ machine.config เพื่อค้นหา จึงมีคำสั่งลบด้านบน ที่จริงแล้ว ไม่เพียงแค่นั้น แต่ LocalSqlServer ไม่สามารถเปลี่ยนแปลงได้ เนื่องจากผู้ให้บริการรุ่นหลังใน machine.config ยังเรียก LocalSqlServer ด้วย หากคุณสนใจ คุณสามารถดูได้ แต่ฉันจะไม่ลงรายละเอียดที่นี่
สุดท้ายนี้ ฉันต้องเตือนทุกคนว่า ไม่ควรเปลี่ยน machine.config เป็นไปได้มากว่าหากคุณเปลี่ยนอะไรบางอย่าง เครื่องของคุณจะมีปัญหาใหญ่
ที่มา: เวนดี้ BLOG
http://wendy980622.cnblogs.com/archive/2006/03/09/346198.html