2013-07-09 28 views
19

Tôi cần triển khai dịch vụ WCF với cơ sở dữ liệu trên máy khách. Tôi nhầm lẫn về SQL Server Express. Tôi cần xác minh tất cả những điều sau đây.nhầm lẫn về SQL Server Express và localdb

Khi đính kèm tệp cơ sở dữ liệu trong thư mục App_Data, tôi vẫn cần cài đặt công cụ SQL Server Express (dịch vụ Windows) trên máy khách?

Có một hương vị được gọi là SQL Server Express LocalDb. Cái đó không cần động cơ (dịch vụ Windows)? Nhưng tôi nghĩ rằng nó cần một cài đặt tiên quyết của LocalDb.

Localdb được giới thiệu với SQL Server 2012. Không có localdb cho SQL Server 2008. Chính xác? Tôi không thể tìm thấy phiên bản 2008 trên trang web MS.

+0

Bạn nói đúng, SQL Server LoclalDB đã được giới thiệu với phiên bản 2012. –

Trả lời

13

Tôi vẫn cần cài đặt công cụ SQL Server Express (Dịch vụ giành chiến thắng) trên máy khách?

Có, họ cần nó được cài đặt cho ứng dụng của bạn để truy vấn cơ sở dữ liệu. Không thể thực sự có được xung quanh nó.

Có một hương vị gọi là SQL Express localDb. Người đó không cần động cơ (dịch vụ giành chiến thắng)? nhưng tôi nghĩ rằng nó cần một cài đặt perquisite của localdb.

Có, bạn vẫn cần phải cài đặt LocalDB trên máy khách. Nó khá rắc rối để làm, nhưng tôi nghĩ rằng nó quá mức cần thiết trừ khi bạn thực sự cần các tính năng đầy đủ của một cá thể SQL Server cho webservice của bạn.

Thay vì dùng LocalDB tôi khuyên bạn nên sử dụng SQL Server Compact Edition - nó thực hiện vai trò của bạn (Dịch vụ WCF của bạn có thể kết nối trực tiếp với tệp cơ sở dữ liệu trên máy khách của bạn mà không cần cài đặt SQL Server, và nhẹ), nhưng không cần phải được cài đặt (nó chỉ đơn giản bao gồm như là một DLL với ứng dụng WCF của bạn):

không giống như các phiên bản khác của Microsoft SQL server, SQL CE chạy trong quá trình với các ứng dụng được lưu trữ nó.

Nói cách riêng của Microsoft trên differences between LocalDB and SQLCE:

LocalDB và SQL Server Compact?

Cơ sở dữ liệu nhỏ và đơn giản, cài đặt nhẹ, kết nối với tệp cơ sở dữ liệu - điều này nghe có vẻ quen thuộc với bất kỳ nhà phát triển nào sử dụng SQL Server Compact. Những điểm tương đồng không phải là ngẫu nhiên, vì mục tiêu của chúng tôi là LocalDB dễ sử dụng như SQL Server Compact (trong khi là mạnh mẽ và tương thích với SQL Server đầy đủ như SQL Express).

Có sự khác biệt đáng kể giữa LocalDB và SQL Server compact:

chế độ thi công: SQL Server Compact là một DLL trong proc, trong khi LocalDB chạy như một quá trình riêng biệt.

Máy chủ SQL CE giống như phiên bản cập nhật của MS Access, tệp đi kèm với ứng dụng có thể "vừa kết nối" với tệp cơ sở dữ liệu mà không cần cài đặt máy chủ cơ sở dữ liệu. gần với tiêu chuẩn SQL Server.

+1

Tôi không thể hiểu tại sao nhà phát triển sẽ cần phải đặt một tệp cơ sở dữ liệu trong thư mục App_Data? – Costa

+4

Vì đó là mục đích rõ ràng của thư mục App_Data trong các dự án Visual Studio - một vị trí không thể truy cập web cho ứng dụng của bạn để lưu trữ các tệp cục bộ cần (trong trường hợp này là tệp cơ sở dữ liệu). –

+1

Tôi khá chắc chắn SQL Server Compact Edition đã không được chấp nhận btw. Xem thảo luận từ liên kết đầu tiên và chi tiết hơn về sự khác biệt btw các phiên bản khác nhau trong liên kết thứ hai. http://stackoverflow.com/questions/20363374/is-sql-server-compact-discontinued-from-visual-studio-2013 https://blogs.msdn.microsoft.com/sqlexpress/2011/07/12/giới thiệu-localdb-an-cải thiện-sql-express / –