C# 通过网络流访问sqlite数据库

C# 通过网络流访问sqlite数据库,c#,database,sqlite,networking,C#,Database,Sqlite,Networking,我想知道是否有办法将网络流视为文件。我可能错了,但我将文件视为字节数组列表。当你在windows中打开一个文件并对其进行写入时,我相信你正在向该文件(数组列表)中插入字节 我正在创建一个程序,在其中使用SQLite数据库部署它。我还创建了客户端版本,它连接到网络上的数据库文件 为了让用户连接到数据库文件,他们需要提供凭据以访问该数据库中的数据我想让他们能够连接,而不必输入这些信息。 我一直在想的事情: 改为使用sql server部署我的应用程序。(使用SQL server部署应用程序并不容易

我想知道是否有办法将网络流视为文件。我可能错了,但我将文件视为字节数组列表。当你在windows中打开一个文件并对其进行写入时,我相信你正在向该文件(数组列表)中插入字节

我正在创建一个程序,在其中使用SQLite数据库部署它。我还创建了客户端版本,它连接到网络上的数据库文件

为了让用户连接到数据库文件,他们需要提供凭据以访问该数据库中的数据我想让他们能够连接,而不必输入这些信息。

我一直在想的事情:

  • 改为使用sql server部署我的应用程序。(使用SQL server部署应用程序并不容易,因为它将以静默方式安装服务器、启用tcp连接以及所有必要的配置来实现这一点。此外,在sqlite不到20秒的情况下安装大约需要7分钟

  • 我正在使用WCF与服务器对话,这样我就可以为我计划使用的所有查询创建一个函数。因此,如果我想从产品中选择*,我可以调用WCF服务上的方法SelectAllFromProducts()。(这里我有点重新发明轮子。)还有一件好事是,我相信我的查询速度会快得多。Sqlite是无服务器的,所以如果您计划在产品中查找产品名称类似“foo”的所有项目,那么如果您考虑一下,计算机将必须通过网络访问数据库中的所有记录。如果本地计算机这样做并且将少量结果发送到客户端


我认为通过网络使用Sqlite不是一个好主意。我目前正在使用Sqlite,但它是一个本地文件系统数据库

在客户机-服务器体系结构中,最好使用一些RDBMS,而不是SQLite

客户端/服务器应用程序

如果您有多个客户端程序通过网络访问公共数据库 网络,您应该考虑使用客户机/服务器数据库引擎 SQLite将在网络文件系统上工作,但是 由于与大多数网络文件系统相关的延迟, 性能不会很好。此外,许多应用程序的文件锁定逻辑 网络文件系统实现包含bug(在Unix和 如果文件锁定无法正常工作,则可能是错误的 两个或多个客户端程序可以修改 同时使用同一数据库,导致数据库损坏。 因为这个问题是由底层文件系统中的bug引起的 实现时,SQLite无法阻止它

请检查此链接,然后跳转到部分

其他RDBMS可能工作得更好的情况


我认为通过网络使用Sqlite不是一个好主意。我目前正在使用Sqlite,但作为本地文件系统数据库

在客户机-服务器体系结构中,最好使用一些RDBMS,而不是SQLite

客户端/服务器应用程序

如果您有多个客户端程序通过网络访问公共数据库 网络,您应该考虑使用客户机/服务器数据库引擎 SQLite将在网络文件系统上工作,但是 由于与大多数网络文件系统相关的延迟, 性能不会很好。此外,许多应用程序的文件锁定逻辑 网络文件系统实现包含bug(在Unix和 如果文件锁定无法正常工作,则可能是错误的 两个或多个客户端程序可以修改 同时使用同一数据库,导致数据库损坏。 因为这个问题是由底层文件系统中的bug引起的 实现时,SQLite无法阻止它

请检查此链接,然后跳转到部分

其他RDBMS可能工作得更好的情况


SQLite声称支持多个连接。当从多个线程查询数据库时,我遇到了很多问题,所有线程都使用同一个连接。当我分配每个线程时,它都有自己的连接。我想使用SQLite的原因是因为它易于部署。我尝试使用sql Server部署我的应用程序这并不容易,而且需要花很多时间来安装。安装时间??说真的,这是一次性的,Sqlite会在客户机-服务器体系结构中给您带来很多麻烦。您是对的,每件事都是为了它的本来面目。首先,我将不得不进行sql server express的静默安装,然后我将不得不经历这个问题:。我不认为这很容易做到,但它是可能的…这就是为什么我想使用sqliteSQLite声明来支持多个连接。当从多个线程查询数据库时,我遇到了很多问题,所有线程都使用相同的连接。当我分配每个线程时,它都是自己的连接。我想se sqlite是因为它很容易部署。我尝试用sql server部署我的应用程序,但这并不容易,而且需要花费很多时间来安装。安装时间??说真的,这是一次性的,sqlite会在客户机-服务器体系结构中给你带来很多麻烦。你是对的,每件事都是为了它的本来面目。首先,我必须做一个测试静默安装sql server express,然后我将不得不经历以下问题:。我认为这不容易做到,但它是可行的…这就是为什么我想使用sqlite