7

Vì vậy, như được mô tả on this msdn page, khi bạn xác định Chuỗi kết nối cho SQL Server Compact 3.5, bạn có thể sử dụng macro "Thư mục dữ liệu" như sau:Macro Máy chủ SQL 'Nhỏ gọn' trong Chuỗi kết nối - cần thêm thông tin

trích dẫn từ this msdn page:

dữ liệu Hỗ trợ thư mục
SQL server compact 3.5 bây giờ hỗ trợ vĩ mô dữ liệu Directory. Điều này có nghĩa là nếu bạn thêm chuỗi | DataDirectory | (kèm theo biểu tượng ống) vào đường dẫn tệp, nó sẽ giải quyết theo đường dẫn của cơ sở dữ liệu.

Ví dụ, hãy xem xét các chuỗi kết nối:

"Data Source = c: \ program files \ MyApp \ Mydb.sdf"

Khi sử dụng dữ liệu Directory, bạn có thể sử dụng thay vì chuỗi kết nối sau:

"Data Source = | DataDirectory | \ Mydb.sdf"

để biết thêm thông tin, xem Làm thế nào để: Triển khai SQL server compact 3.5 Cơ sở dữ liệu với một ứng dụng.

Tuy nhiên, liên kết 'để biết thêm thông tin' trên msdn không thực sự cung cấp thêm bất kỳ thông tin nào.

Vì vậy, câu hỏi của tôi là:

như thế nào | Thư mục Dữ liệu | macro dịch tại thời gian chạy? Đối với các ứng dụng WinForm, có vẻ như chỉ cung cấp vị trí của tệp thực thi. Hay nó phức tạp hơn thế?

Trả lời

7

Để đặt thuộc tính DataDirectory, hãy gọi phương thức AppDomain.SetData. Nếu bạn không đặt thuộc tính DataDirectory, các quy tắc mặc định sau sẽ được áp dụng để truy cập vào thư mục cơ sở dữ liệu:

  • Đối với các ứng dụng được đặt trong một thư mục trên máy tính của người dùng, thư mục cơ sở dữ liệu sử dụng ứng dụng thư mục.
  • Đối với các ứng dụng đang chạy trong ClickOnce, thư mục cơ sở dữ liệu sử dụng thư mục dữ liệu cụ thể được tạo .
0

Vui lòng xem liên kết này: http://msdn.microsoft.com/en-us/library/aa478948.aspx

Các | DataDirectory | một phần của chuỗi kết nối chỉ định rằng tệp MDF nằm trong thư mục App_Data.

+1

Cảm ơn Joe nhưng hơi phức tạp hơn một chút. Nó khá rõ ràng rằng App_data sẽ được sử dụng cho các ứng dụng web, nó ít rõ ràng hơn như thế nào nó có thể làm việc cho các ứng dụng windows. ví dụ: xem phương thức AppDomain.SetData như được đề cập bởi Sasha. Ngoài ra, Saluce, cảm ơn cho chỉnh sửa. – codeulike