Excel: วิธีเชื่อมต่อกับ sqlserver localDB


8

ฉันได้สร้างLocalDBที่ฉันสามารถใช้งานได้ใน MS sqlserver management studio 2014, linqpad และ visual studio 2013

นี่คือส่วนหนึ่งของกล่องโต้ตอบ "คุณสมบัติการเชื่อมต่อ" ใน SSMS ซึ่งแสดงชื่อเซิร์ฟเวอร์: ป้อนคำอธิบายรูปภาพที่นี่

ฉันต้องการที่จะสามารถเชื่อมต่อกับฐานข้อมูลนี้จากภายใน excel ปัญหาคือว่า "Data Connection Wizard" ใน Excel ไม่สามารถเชื่อมต่อได้

ที่นี่ฉันได้พิมพ์ชื่อเซิร์ฟเวอร์เดียวกับที่ได้รับจาก "คุณสมบัติการเชื่อมต่อ" ใน SSMS ....

ป้อนคำอธิบายรูปภาพที่นี่

และนี่คือข้อผิดพลาดที่ฉันได้รับ ... ป้อนคำอธิบายรูปภาพที่นี่

คำถาม:

  • excel สามารถเชื่อมต่อกับ localDB ได้หรือไม่? ฉันรู้ว่ามันสามารถเชื่อมต่อกับฐานข้อมูล sql-server ได้ มีข้อ จำกัด บางอย่างเกี่ยวกับ LocalDB ที่ป้องกันสิ่งนี้หรือไม่? ฉันคิดว่าจุดทั้งหมดของ LocalDB คืออนุญาตให้มีการพัฒนาโดยไม่ต้องตั้งค่าฐานข้อมูลแบบสแตนด์อโลน

  • มีวิธีอื่นในการเชื่อมต่อหรือไม่? หรือชื่อเซิร์ฟเวอร์ของฉันต้องการการแก้ไขที่น่ารำคาญบ้างไหม?


1
ลอง.\mssqllocaldbหรือหรือlocalhost\mssqllocaldb <comptuersIPAddress>\mssqllocaldbชื่อเซิร์ฟเวอร์ใดที่คุณใช้สำหรับการเชื่อมต่อ VS (และสำเร็จ) VS และ Linqpad ของคุณ
Ƭᴇcʜιᴇ007

@ Ƭᴇcʜιᴇ007ขอบคุณฉันคัดลอก / วางชื่อเซิร์ฟเวอร์ที่พบเมื่อฉันเปิดกล่องโต้ตอบคุณสมบัติสำหรับฐานข้อมูลใน SSMS ไม่ดำเนินการทั้งสามตัวอย่าง ชื่อเซิร์ฟเวอร์ที่ใช้งานได้บน linqpad และ SSMS ตรงนี้ ... (localdb) \ mssqllocaldb
Angelo

คำตอบ:


6

ช่างเป็น PITA ที่ไร้ค่า!

ฉันสามารถใช้งานได้โดยใช้ "Data Connection Wizard" ทำตามขั้นตอนเหล่านี้ ....

  1. เลือก "อื่น ๆ / ขั้นสูง" จากการเชื่อมต่อข้อมูล Wizard จากนั้นกด "ถัดไป" ฉันคิดว่า localDB ตามที่สร้างโดย sqlserver express จะเป็น "SQL Server" ชัดเจนว่าไม่! แม้ว่าฉันจะเข้าใจไม่ได้ว่าทำไม

ป้อนคำอธิบายรูปภาพที่นี่

  1. เลือก "SQL Server Native Client 11.0" เป็นผู้ให้บริการ ตกลงฉันไม่ได้เลือก "SQL Server" ในแท็บก่อนหน้า นอกจากนี้ฉันยังใช้เซิร์ฟเวอร์ sql express รุ่นที่ 12 และไม่มี "12" ในรายการ - บางทีมันอาจอ้างถึงเวอร์ชันไคลเอนต์อย่างเคร่งครัดด้วยความหมายที่ลึกซึ้งว่าไคลเอนต์ 11 สามารถเชื่อมต่อกับเซิร์ฟเวอร์ 12 ได้หรือไม่ อีกกระดาษตัดความรู้ความเข้าใจ

ป้อนคำอธิบายรูปภาพที่นี่

  1. ป้อนชื่อเซิร์ฟเวอร์เดียวกับที่ทำงานใน SSMS หรือ linqpad เลือกความปลอดภัยแบบรวมของ Windows Test Connection ตอนนี้ใช้งานได้และเป็นไปได้ที่จะเลือกฐานข้อมูลและดัมพ์ตารางลงใน excel

ป้อนคำอธิบายรูปภาพที่นี่

มันไม่ยากที่จะทำเช่นนี้ แต่ดูเหมือนจะไม่มีเหตุผลใด ๆ ที่จะทำให้คุณต้องดิ้นรนจนกว่าจะมีบางอย่างคลิก


เรียนคุณกำลังเชื่อมต่อกับ SQL Server 2014 ซึ่งมาพร้อมกับSQLNCLI12และในภาพหน้าจอที่คุณเลือก 'Native Client 11' ซึ่งเป็นSQLNCLI11และสำหรับบางครั้งคุณไม่มี 'Native Client 12' ที่ยอดเยี่ยมสำหรับ 2014
tbc

1

นี่คือสตริงการเชื่อมต่อ (SQLServer 2012 / Excel 2013):
Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName={mdf file full path}

โอ้บนพีซีของฉันฉันต้องใช้;Trusted_Connection=Yesมันอาจจะไม่เข้าท่าเลยเพราะทั้งแล็ปท็อปและพีซีของฉันใช้ SQLServer และ Excel รุ่นเดียวกันทั้งหมด


แก้ไข

ฉันไม่สามารถทำซ้ำข้อผิดพลาด (ฉันยังติดตั้ง SQL Server 2014 บน VM และยังใช้งานได้) ตัวเลือกเดียวที่คุณสามารถเพิ่มและอาจช่วยให้คุณProvider=SQLNCLI11;หรือProvider=SQLNCLI12;คุณสามารถค้นหารุ่นที่ติดตั้งโดยใช้sqllocaldb vในบรรทัดคำสั่ง
ที่จะผลิตสิ่งที่ชอบ:Microsoft SQL Server 2014 (12.0.2000.8)


ขอบคุณ แต่มันก็ยังให้ข้อผิดพลาด ฉันต้องลบส่วน "เซิร์ฟเวอร์ =" ของคุณเพื่อหลีกเลี่ยงการรับ "parseConnectParams ()" ในกล่องโต้ตอบข้อผิดพลาด เมื่อฉันทำอย่างนั้นมันให้ข้อผิดพลาดเดียวกับที่ฉันได้รับก่อน
แองเจโล

@Angelo ฉันอัปเดตคำตอบของฉันโปรดทำจนถึงผลลัพธ์เมื่อคุณลอง
tbc
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.