Excel: Cách kết nối với máy chủ sqls localDB


8

Tôi đã tạo một LocalDB mà tôi có thể làm việc trong studio quản lý MS sqlserver 2014, linqpad và visual studio 2013.

Đây là một phần của hộp thoại "thuộc tính kết nối" trong SSMS hiển thị tên máy chủ: nhập mô tả hình ảnh ở đây

Tôi muốn có thể kết nối với cơ sở dữ liệu này từ bên trong excel. Vấn đề là "Trình hướng dẫn kết nối dữ liệu" trong Excel, không kết nối được.

Ở đây, tôi đã gõ cùng tên máy chủ như được đưa ra từ "thuộc tính kết nối" trong SSMS ....

nhập mô tả hình ảnh ở đây

Và đây là lỗi tôi nhận được ... nhập mô tả hình ảnh ở đây

Câu hỏi:

  • Excel có thể kết nối với localDB không? Tôi biết nó CÓ THỂ kết nối với cơ sở dữ liệu máy chủ sql. Có một số hạn chế về LocalDB ngăn chặn điều này? Tôi nghĩ rằng toàn bộ quan điểm của LocalDB là cho phép phát triển mà không cần nỗ lực thiết lập cơ sở dữ liệu độc lập.

  • Có một cách khác để kết nối? Hoặc tên máy chủ của tôi yêu cầu một số sửa đổi gây phiền nhiễu?


1
Hãy thử .\mssqllocaldb, hoặc localhost\mssqllocaldb, hoặc <comptuersIPAddress>\mssqllocaldb. Bạn đã sử dụng tên máy chủ nào cho các kết nối VS và Linqpad (thành công) của mình?
Ƭᴇcʜιᴇ007

@ Cʜιᴇ007, cảm ơn, tôi đã sao chép / dán chính xác tên máy chủ được tìm thấy khi tôi mở hộp thoại thuộc tính cho cơ sở dữ liệu trong SSMS. Không đi vào cả ba ví dụ. Tên máy chủ hoạt động trên linqpad và SSMS chính xác là ... (localdb) \ mssqllocaldb
Angelo

Câu trả lời:


6

Thật là một Pita vô cớ!

Tôi đã có thể làm cho nó hoạt động bằng cách sử dụng "Trình hướng dẫn kết nối dữ liệu" theo các bước sau ....

  1. Chọn "Khác / Nâng cao" từ Trình hướng dẫn kết nối dữ liệu, sau đó nhấn "tiếp theo" . Tôi nghĩ rằng localDB như được tạo bởi sqlserver express sẽ là "SQL Server". Rõ ràng là không! mặc dù tôi không thể hiểu tại sao.

nhập mô tả hình ảnh ở đây

  1. Chọn "SQL Server Native Client 11.0" làm nhà cung cấp. OK, tôi đã KHÔNG chọn "Máy chủ SQL" trong tab trước. Ngoài ra, tôi tình cờ chạy phiên bản 12 của máy chủ sql express và không có "12" trong danh sách-- có lẽ nó chỉ đề cập nghiêm túc đến phiên bản máy khách, với ngụ ý tinh tế rằng máy khách 11 có thể kết nối với máy chủ 12? Một nhận thức cắt giấy khác.

nhập mô tả hình ảnh ở đây

  1. Nhập cùng tên máy chủ hoạt động trong SSMS hoặc linqpad. Chọn Bảo mật tích hợp Windows. Kiểm tra kết nối bây giờ hoạt động và có thể chọn cơ sở dữ liệu và kết xuất một bảng vào excel.

nhập mô tả hình ảnh ở đây

Không khó để làm điều này, nhưng dường như không có bất kỳ luồng logic nào đến nó mà bạn phải loay hoay cho đến khi một cái gì đó nhấp chuột.


Kính gửi, bạn đang kết nối với SQL Server 2014, đi kèm SQLNCLI12và trong ảnh chụp màn hình của bạn, bạn đã chọn Client Client Client 11 ' SQLNCLI11, và đối với một lý do nào đó, bạn không có' Client Client 12 'xuất sắc trong năm 2014.
tbc

1

Đây là chuỗi kết nối (SQLServer 2012 / Excel 2013):
Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName={mdf file full path}

Ồ, trên PC của tôi, tôi phải sử dụng ;Trusted_Connection=Yes, nó có thể không có ý nghĩa gì, vì cả máy tính xách tay và PC của tôi đều đang chạy phiên bản CHÍNH XÁC của SQLServer và Excel.


Biên tập

Tôi không thể tái tạo lỗi (Tôi thậm chí đã cài đặt SQL Server 2014 trên máy ảo và nó vẫn hoạt động). Tùy chọn duy nhất bạn có thể thêm và có thể giúp bạn là Provider=SQLNCLI11;HOẶC Provider=SQLNCLI12;bạn có thể tìm hiểu phiên bản nào được cài đặt bằng cách chạy sqllocaldb vtrong dòng lệnh.
Điều đó sẽ tạo ra một cái gì đó như:Microsoft SQL Server 2014 (12.0.2000.8)


cảm ơn, nhưng nó vẫn báo lỗi Tôi đã phải xóa phần "server =" của bạn để tránh bị "parseConnectParams ()" trong hộp thoại báo lỗi. Khi tôi làm điều đó, nó đã đưa ra lỗi tương tự như tôi đã nhận được trước đó.
Angelo

@Angelo Tôi đã cập nhật câu trả lời của mình, vui lòng thực hiện cho đến khi có kết quả.
tbc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.