Excel: Cara menghubungkan ke localDB sqlserver

8

Saya telah membuat LocalDB yang dapat saya gunakan di MS sqlserver management studio 2014, linqpad, dan visual studio 2013.

Ini adalah bagian dari dialog "properti koneksi" di SSMS yang menunjukkan nama server: masukkan deskripsi gambar di sini

Saya ingin dapat terhubung ke database ini dari dalam excel. Masalahnya adalah bahwa "Data Connection Wizard" di Excel, gagal tersambung.

Di sini, saya telah mengetik nama server yang sama seperti yang diberikan dari "properti koneksi" di SSMS ....

masukkan deskripsi gambar di sini

Dan inilah kesalahan yang saya dapatkan ... masukkan deskripsi gambar di sini

Pertanyaan:

  • Bisakah excel terhubung ke localDB sama sekali? Saya tahu itu BISA terhubung ke database sql-server. Apakah ada batasan tentang LocalDB yang mencegah ini? Saya pikir inti dari LocalDB adalah untuk memungkinkan pengembangan tanpa upaya menyiapkan database mandiri.

  • Apakah ada cara alternatif untuk terhubung? Atau apakah nama server saya memerlukan modifikasi yang mengganggu?

Angelo
sumber
1
Coba .\mssqllocaldb, atau localhost\mssqllocaldb, atau <comptuersIPAddress>\mssqllocaldb. Nama server mana yang Anda gunakan untuk koneksi VS dan Linqpad (berhasil) Anda?
Ƭᴇcʜιᴇ007
@ Ƭᴇcʜιᴇ007, terima kasih, saya menyalin / menempelkan persis nama server yang ditemukan ketika saya membuka dialog properti untuk database di SSMS. Jangan terus ketiga contoh. Nama server yang bekerja pada linqpad dan SSMS persis seperti ini ... (localdb) \ mssqllocaldb
Angelo

Jawaban:

6

Benar-benar PITA yang serampangan!

Saya dapat membuatnya berfungsi dengan menggunakan "Data Connection Wizard" mengikuti langkah-langkah ini ....

  1. Pilih "Lainnya / Lanjutan" dari Wisaya koneksi Data, lalu tekan "berikutnya" . Saya berpikir bahwa localDB yang dibuat oleh sqlserver express akan masuk sebagai "SQL Server". Sepertinya tidak! meskipun saya tidak bisa mengerti mengapa.

masukkan deskripsi gambar di sini

  1. Pilih "SQL Server Native Client 11.0" sebagai penyedia. OK, saya baru saja TIDAK memilih "SQL Server" di tab sebelumnya. Juga saya kebetulan menjalankan versi 12 dari sql server express dan tidak ada "12" dalam daftar - mungkin itu secara ketat mengacu pada versi klien, dengan implikasi halus bahwa klien 11 dapat terhubung ke server 12? Namun potongan kertas kognitif lainnya.

masukkan deskripsi gambar di sini

  1. Masukkan nama server yang sama yang berfungsi di SSMS atau linqpad. Pilih keamanan Terintegrasi Windows. Uji Koneksi sekarang berfungsi dan dimungkinkan untuk memilih database, dan membuang tabel ke excel.

masukkan deskripsi gambar di sini

Ini tidak sulit untuk melakukan ini, tetapi sepertinya tidak ada alur logis untuk itu Anda harus menggelepar sampai sesuatu mengklik.

Angelo
sumber
Yang terhormat, Anda terhubung ke SQL Server 2014, yang datang bersama SQLNCLI12, dan dalam tangkapan layar Anda, Anda memilih 'Native Client 11', yaitu SQLNCLI11, dan untuk beberapa alasan, Anda tidak memiliki 'Native Client 12' yang unggul untuk 2014.
tbc
1

Ini adalah string koneksi (SQLServer 2012 / Excel 2013):
Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName={mdf file full path}

Oh pada PC saya, saya harus menggunakan ;Trusted_Connection=Yes, itu mungkin tidak masuk akal, karena baik laptop dan PC saya menjalankan versi yang sama persis SQLServer dan Excel.


Edit

Saya tidak dapat mereproduksi kesalahan (Saya bahkan menginstal SQL Server 2014 pada VM dan masih berfungsi). Satu-satunya opsi yang dapat Anda tambahkan dan mungkin membantu Anda adalah Provider=SQLNCLI11;ATAU Provider=SQLNCLI12;Anda dapat mengetahui versi apa yang diinstal dengan menjalankan sqllocaldb vdi baris perintah.
Itu akan menghasilkan sesuatu seperti:Microsoft SQL Server 2014 (12.0.2000.8)

tbc
sumber
terima kasih, tetapi masih memberikan kesalahan. Saya harus menghapus bagian "server =" Anda untuk menghindari "parseConnectParams ()" di dialog kesalahan. Ketika saya melakukan itu, itu memberikan kesalahan yang sama seperti yang saya dapatkan sebelumnya.
Angelo
@ Angelo Saya memperbarui jawaban saya, silakan lakukan sampai hasil setelah Anda mencoba.
tbc