SQL Server CE:到同一个数据库(C#,WPF)的多个连接(2+ 应用程序)

Posted

技术标签:

【中文标题】SQL Server CE:到同一个数据库(C#,WPF)的多个连接(2+ 应用程序)【英文标题】:SQL Server CE : multiple connections (2+ apps) to the same db (C#, WPF) 【发布时间】:2015-10-02 14:19:46 【问题描述】:

我的 C# WPF 应用程序使用 SQL Server CE 4 数据库,一切正常。

但是当我想运行该应用的多个实例时,我遇到了问题:我不能同时打开超过 1 个连接。

据我了解,SQL Server CE 确实允许多次读取,但一次只能写入一次。

我收到一个错误

存在文件共享冲突,其他进程可能正在使用该文件

如何解决?

如果缺少某些信息,请在评论中告诉我

编辑 1:

尝试添加

PRAGMA journal_mode=WAL;

到连接字符串,但它会导致错误:不支持关键字:'pragma journal_mode'

编辑 2: 据我了解,Sql CE 支持超过 1 个连接,但只能来自同一台 PC,我想要做的是连接到网络驱动器上的数据库。 我能做些什么? (我不能使用 SQL Server Express 等。只有单个文件 db)

【问题讨论】:

您使用的是SQLite 还是SQL Server CE 4 - 这是两个完全不同的嵌入式数据库系统...... @marc_s 我使用 System.Data.SqlServerCe(SqlCeConnection 等) 那是 SQL Server CE(精简版) - 不是 SQLite .... 嗯,所以这应该更好地支持多个连接吧? 编程让我想哭…… 【参考方案1】:

我之前遇到过这个问题。由于是一次性的,我使用sqlite browser 手动更改数据库的编译指示。如果这对您有帮助,请告诉我。

【讨论】:

我的数据库保存为 .sdf 文件,因此无法打开。无论我做什么也无法设置 PRAGMA... 对不起,我回复了这个,因为你提到它是 sqlite db。如果您正在使用为什么不尝试安装 sql server。【参考方案2】:

如果您需要 LAN 上的数据库,请使用免费的 SQL Server Express

【讨论】:

以上是关于SQL Server CE:到同一个数据库(C#,WPF)的多个连接(2+ 应用程序)的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server CE:到同一个数据库(C#,WPF)的多个连接(2+ 应用程序)

如何从 C# 动态运行 SQL Server CE [Windows mobile] 中的 SQL 脚本文件?

带有sql server ce的C#小型数据库项目

从 C# 代码中使用 SQL Server CE 选择 @@ IDENTITY

SQL Server CE 或 Access 用于使用 c# 的可移植数据库?

用于多个应用程序中的 C# 类库的 SQL Server CE 私有部署