Sql 在这个VB.NET应用程序中我应该使用什么数据库?

Sql 在这个VB.NET应用程序中我应该使用什么数据库?,sql,vb.net,visual-studio-2008,sql-server-ce,Sql,Vb.net,Visual Studio 2008,Sql Server Ce,我的数据库必须以任意间隔手动更新,并将新信息放在不需要结构修改的标准表上。一个应用程序将更新数据库。 我将发布的另一个应用程序(仅限于朋友和家人,但不需要任何安全功能,如加密数据库)将读取数据库并在标签、列表视图等上使用其数据 问题是,我在任何编程方面都是成熟n00b的完美定义,但我仍然不知道该使用什么数据库 我想我应该使用一个SQL CE(*.sdf)文件,并将该数据库存储在FTP上。然后,每当“客户端”应用程序运行,点击某个按钮(“连接”)时,我就可以下载它并从中获取数据。 通过谷歌搜索,我

我的数据库必须以任意间隔手动更新,并将新信息放在不需要结构修改的标准表上。一个应用程序将更新数据库。
我将发布的另一个应用程序(仅限于朋友和家人,但不需要任何安全功能,如加密数据库)将读取数据库并在标签、列表视图等上使用其数据

问题是,我在任何编程方面都是成熟n00b的完美定义,但我仍然不知道该使用什么数据库

我想我应该使用一个SQL CE(*.sdf)文件,并将该数据库存储在FTP上。然后,每当“客户端”应用程序运行,点击某个按钮(“连接”)时,我就可以下载它并从中获取数据。 通过谷歌搜索,我发现了如何使用以下连接字符串连接到sdf:

Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=D:\Documents and Settings\Camilo\JCTM.sdf
所以它连接了,或者至少没有显示任何错误

我不知道使用SDFSQLCE文件作为数据库是否是个好主意,如果太难,也许我应该选择XML?你们有什么建议,在VB.NET中实现非常简单的数据库最简单的方法是什么

我所说的简单数据库是指: -不需要搜索 -除了在具有列和行的表上存储字符串外,没有其他高级功能 -通过不同的VB.NET应用程序轻松访问、阅读、编辑等


sdf是一个好主意吗?

我从Microsoft Access开始,因为它有自己的UI,并且可以很好地与.NET配合使用


您还可以尝试针对SQLite的ADO.Net实现,我也发现它非常有用。

幸运的是,您可以抽象出需要关注用于存储数据的后端数据库

ODBC(开放数据库连接)和OLEDB(对象链接和嵌入,数据库)等技术允许您将对后端数据存储的关注限制在制作连接字符串的任务上。在您的示例中,连接字符串表示,“我将通过其OLEDB提供程序连接到SQL Server CE数据库,它的物理位置位于D:/

在代码中,您使用标准的OLEDB机制来访问和管理数据库。由于这种抽象,您可以使用SQL Server、Oracle、XML、access或逗号分隔的文本文件的OLEDB提供程序作为备份存储(如果愿意),并且您只需对代码进行更改,即连接字符串。您的选择应该您可以选择您有工具和专门知识进行初始设置和管理的数据库。

我建议它是免费的,并且可以作为安装过程的一部分与.net应用程序一起重新分发


挑战将是在不同客户端之间同步更改。如果您有权访问FTP服务器,您可能有能力在IIS中托管网站。如果您可以做到这一点,您只需使用webservices并对一个数据库进行读取,而不必复制一个本地数据库。

是否会有多个客户端应用同时修改您的数据库e?不,客户端应用程序只会将日志上传到ftp,只有一个应用程序会修改数据库。这样我就可以从VB.NET应用程序的access中进行写和读操作,而不会出现任何问题?比如,只需添加一个新行,诸如此类的事情?它将以什么方式访问它,从LINQ对吗?这看起来像…:Dim ConSQL作为新的OleDb.OleDbConnection ConSQL.ConnectionString吗g ConSQL.ConnectionString=“Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;数据源=。.sdf“ConSQL.Open()Dim CommandSQL As String CommandSQL=“SQL command here”Dim da As OleDb.OleDbDataAdapter da=新的OleDb.OleDbDataAdapter(CommandSQL,ConSQL)…Con.Close()??是这样吗?还是我做错了?谢谢你的帮助。还有,第二个问题:我的用户需要安装SQL server compact?还是只需要.NET framework就可以了?我想让这个用户尽可能疯狂。再次感谢^^(看起来它切碎了CRLFs,代码看起来不太可读。抱歉>。理论上,可以使用提供程序代替完整的包来访问后端数据存储。因此,如果您使用MS access/Jet提供程序,您实际上不需要在客户机上拥有MS access。我不确定SQL CE提供程序是否可用。)默认情况下包括在windows计算机上,我不确定提供程序是否包装到可执行文件中(我没有使用SQL CE).NET framework是运行在Visual Studio.NET中开发的任何应用程序所必需的。我倾向于使用Access.MDB文件,因为它们相对来说是可移植的、快速的和健壮的,而且不会太大。谢谢^^^所以,MDB文件只是稍微大一点,没有明显的缺点?有没有遇到过任何复杂的问题?