Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để kiểm tra xem máy khách đã cài đặt nhà cung cấp SQLNCLI10 khi duyệt web hay chưa?

Thật thất vọng, Microsoft dường như không đưa ra câu trả lời rõ ràng về cách kiểm tra xem thư viện máy khách có hiện diện hay không. Tìm kiếm trên web và dò tìm sổ đăng ký tiết lộ ít nhất các khóa đăng ký sau:

HLKM\SOFTWARE\Microsoft\SQLNCLI11 (key:InstalledVersion)
HLKM\SOFTWARE\Microsoft\SQLNCLI10 (key:InstalledVersion)
HKLM\SOFTWARE\Microsoft\Microsoft SQL Native Client\CurrentVersion (version 9, i presume?)
HLKM\SOFTWARE\Microsoft\Microsoft SQL Server Native Client 10.0\CurrentVersion (key:Version)
HLKM\SOFTWARE\Microsoft\Microsoft SQL Server Native Client 11.0\CurrentVersion (key:Version)

Bài đăng trên blog này tại MSDN gợi ý rằng việc sử dụng các khóa đăng ký để trả lời một câu hỏi liên quan (SQL Server Express đã được cài đặt chưa) là sai, sai, sai và bạn nên viết 200 dòng mã WMI để thay thế. Phương pháp WMI dường như không có giấy tờ như nhau và thậm chí còn mỏng manh hơn đối với tôi.

Microsoft cho phép phân phối lại gói SQL Native Client , có lẽ sự lựa chọn tốt nhất chỉ đơn giản là đưa msi vào trình cài đặt ứng dụng của bạn và chạy nó cho dù có cần thiết hay không. Xem danh sách hệ điều hành được hỗ trợ này để biết các trình điều khiển khác nhau mà họ cung cấp cho thấy có cả phiên bản 10.5 (!).

SQLNCLI được cài đặt song song với các trình điều khiển dựa trên MDAC, vì vậy sẽ an toàn khi chạy msiexec về điều này và hãy để nó giải quyết các chi tiết.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ví dụ về Chèn máy chủ SQL

  2. Tại sao truy vấn được tham số hóa tạo ra kế hoạch truy vấn chậm hơn rất nhiều so với truy vấn không được tham số hóa

  3. Sử dụng bảng được đặt tên động trong tác vụ luồng dữ liệu SSIS

  4. 2 cách tạo bảng nếu nó không tồn tại trong SQL Server

  5. Làm cách nào để liên kết tham số ISO8601 TSQL DATETIME với PDO?