18

Tôi đang cố tìm một API trong WinRT sẽ cho phép tôi tạo một cơ sở dữ liệu cục bộ có thể được sử dụng để lưu trữ dữ liệu cho một ứng dụng được kết nối đôi khi. Tôi đang tìm một cái gì đó giống như SQL Compact Edition.Lưu trữ cơ sở dữ liệu cục bộ cho các ứng dụng WinRT/Metro

Tôi đã thấy các thông điệp khác nhau trên các bảng khác nhau chỉ ra rằng có một trong hai

  • (a) sẽ không có cơ sở dữ liệu địa phương nào
  • (b) không có địa phương "máy chủ" cơ sở dữ liệu (ví dụ SQL Express loại trường hợp)
  • (c) Mã cơ sở dữ liệu cục bộ có tên "Jet Blue".

Có ai có câu trả lời dứt khoát cho điều này không? Tôi không muốn bắt đầu xuống con đường này nếu nó bị chặn.

+0

Hiện không có giải pháp dbase cục bộ nào. Kinda ngớ ngẩn đoán xem con đường đó có bị chặn hay không, nó vẫn chưa được thử nghiệm. –

+0

Hans; đó là một nhận xét công bằng. Tôi nhận ra rằng chúng tôi thậm chí không đạt được phiên bản beta, tôi chỉ hy vọng rằng ai đó có thể đã tìm thấy thêm một số tài liệu mà tôi đã bỏ lỡ. Cảm ơn. –

+1

Có một giải pháp cơ sở dữ liệu cục bộ hoàn hảo được gọi là màu xanh da trời ... – fabspro

Trả lời

0

Có các giải pháp của bên thứ ba sắp ra hoặc đã hết. CodePlex có một - http://sqlwinrt.codeplex.com/

Tùy chọn khác, đòi hỏi một số công việc một phần của bạn, là ủy quyền truy cập cơ sở dữ liệu của bạn thông qua dịch vụ web.

+0

Cảm ơn vì điều này. Tôi biết rằng tôi sẽ phải cung cấp dịch vụ web cho cơ sở dữ liệu chính, nhưng vì ứng dụng sẽ được sử dụng ở những khu vực không có kết nối (như dưới mặt đất), tôi không thể dựa vào điều này cho tất cả việc sử dụng. –

+0

Không sao cả. Tôi hiểu vấn đề xung quanh dịch vụ web và đang được kết nối hay không. Thêm vào đó là công việc của bạn. Có các lớp kết nối có sẵn cung cấp cho bạn thông tin về mạng (ConnectionProfile.Connected) nằm trong không gian tên Windows.Networking.Connectivity. Là một người dùng khác được đề cập ở trên, bạn cũng có thể dựa vào INDEXDB (http://msdn.microsoft.com/library/hh673548.aspx). –

3

Không có CE SQL có sẵn cho Metro.

a) sẽ không có cơ sở dữ liệu cục bộ nào

Điều này không đúng. SQLite sẽ có thể chạy trên WinRT. Bạn có thể tải xuống mã số here và bao gồm hai tệp chính vào dự án WinRT của bạn. Để biên dịch và vượt qua chứng nhận, bạn sẽ cần đảm bảo rằng bạn đang sử dụng các cuộc gọi thay thế WinRT chính xác cho các cuộc gọi Win32 không được hỗ trợ. Giải pháp của bên thứ ba mà Bob đề cập là một trình bao bọc WinRT, nó không bao gồm các thay đổi đối với SQLite để vượt qua chứng nhận.

(b) không có địa phương "máy chủ" cơ sở dữ liệu (ví dụ SQL Express loại trường hợp)

Có vẻ như khó xảy ra sẽ có SQL Express cho tàu điện ngầm.

(c) Mã cơ sở dữ liệu cục bộ có tên "Jet Blue".

Nếu bạn có nghĩa là cơ sở dữ liệu Microsoft Jet Database, có vẻ như được hỗ trợ nhưng tôi thích sử dụng SQLite hơn.

Cũng nên nhớ nếu bạn đang sử dụng HTML/JS bạn có tùy chọn sử dụng IndexedDB

0

Bạn có thực sự cần một "lưu trữ dữ liệu cho một ứng dụng thỉnh thoảng kết nối"? Điều này nghe có vẻ hơi quá mức với tôi. Tại sao không tuần tự hóa dữ liệu (các tùy chọn khác nhau) để tự lưu trữ?

+0

Jasper: Nếu bạn lấy (ví dụ) kịch bản của nhân viên bán hàng đang cố gắng nhận đơn đặt hàng ở những nơi không có kết nối thì có, tôi nghĩ cơ sở dữ liệu là lựa chọn tốt hơn - đặc biệt là khi danh sách sản phẩm là lớn và bạn muốn để có thể cung cấp tìm kiếm vv Điều đó nói rằng, tôi chấp nhận (đến một điểm) mà bạn có thể có tất cả mọi thứ được lưu trữ trong các đối tượng và serialise chúng khi ứng dụng thoát. –

4

Bạn có thể muốn xem SQLite3-WinRT, trình bao bọc cho SQLite mà chúng tôi đã viết để sử dụng trong ứng dụng kiểu Metro. Nó chứa một phiên bản của SQLite chỉ sử dụng API tương thích với WinRT và một thành phần WinRT để sử dụng nó trong các ứng dụng C# và JavaScript.

Các vấn đề liên quan