簡體   English   中英

C#中的無服務器數據庫

[英]Serverless Database in C#

在這里完成新手問題:我是第一次玩C#並想制作一個Windows Forms應用程序,它將一些信息存儲在數據庫結構中,但顯然不希望在每個客戶端上安裝像MySQL這樣的東西電腦。 我該怎么做?

您可以使用SQLite 它不需要客戶端計算機上的任何安裝或服務器。 這是一篇描述如何在.NET中使用它的博客 它易於使用,只需添加對System.Data.SQLite.dll的引用即可。

這是.NET的開源數據提供程序: System.Data.SQLite

主頁“SQLite是一個實現自包含,無服務器,零配置,事務SQL數據庫引擎的軟件庫.SQLite是世界上部署最廣泛的SQL數據庫引擎.SQLite的源代碼在公共領域。

您使用不需要安裝的數據庫。 有一些 - 那里有Microsoft SQL Server Compact ,坦率地命名不好,因為它不支持更有用的SQL函數,如存儲過程,視圖等。 還有VistaDB支持存儲過程,但如果你想要Visual Studio插件需要購買。

答案是嵌入式數據庫。 你有很多可以使用的嵌入式數據庫:

商業:

  1. VistaDB - 該數據庫完全用托管C#編寫。

開源:

  1. Firebird - .NET驅動程序
  2. SQLite - .NET驅動程序

您可以將數據寫入XML文件,或者您可以查看Sql Server Compact Edition

您還可以使用對象並將這些對象序列化/反序列化為二進制文件。

當然,您選擇的存儲類型很大程度上取決於您要存儲的數據類型(以及數據量)。

從.NET 3.5開始,一種簡單的方法是將數據存儲在XML文件中,並使用Linq to XML 這允許您對數據使用類似SQL的命令,這些命令實際編譯到您的應用程序中,因此您可以獲得完整的IDE IntelliSense支持和錯誤檢查。

也許您可以序列化數據集並將其另存為XML。 我有點困惑,如果你在玩游戲,你需要在所有客戶端的計算機上安裝MySQL。 你可以看一下使用免費的SQL Express嗎?

Serialise數據集:

http://blogs.msdn.com/yosit/archive/2003/07/10/9921.aspx http://msdn.microsoft.com/en-us/magazine/cc163911.aspx

最簡單的方法是SQL Server Compact,因為它直接集成到Visual Studio IDE中(我只是冒犯了你使用VS的猜測)。 添加“本地數據庫”,創建表,並確保使用選擇,更新,插入和刪除方法制作表適配器。 如果在數據庫創建期間您調用了數據集“DS”,則可以從中實例化表適配器對象

DSTableAdapters 

命名空間,使用GetData()或Fill()方法檢索數據,使用Insert(),Update()和Delete()來管理它。

VelocityDB在服務器較少的模式下工作,但也可以在需要時與服務器結合使用。 它的表現大致相當於這里提到的所有其他選擇,請參見此處的比較 它允許您持久使用幾乎任何.NET數據結構。 整個數據庫引擎和可選服務器使用C#代碼實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM