小编tal*_*z13的帖子

使用System.Data.SQLite在C#app中缓慢打开SQLite连接

编辑3:

我想我的问题暂时解决了......我将我的服务和测试应用程序更改为SYSTEM帐户而不是NetworkService帐户.更改用户帐户的好处是否会持续存在,或者只是暂时性的,还有待观察.

原始问题:

我注意到我的小型224kB SQLite数据库在我的C#应用​​程序中打开非常慢,从一些小的ms到1.5秒或更长时间.下面是我的代码,以及我今天下午添加的所有额外调试语句.我把它缩小到调用,cnn.Open();如下面的日志所示:

2014-03-27 15:05:39,864 DEBUG - Creating SQLiteConnection...
2014-03-27 15:05:39,927 DEBUG - SQLiteConnection Created!
2014-03-27 15:05:39,927 DEBUG - SQLiteConnection Opening...
2014-03-27 15:05:41,627 DEBUG - SQLiteConnection Opened!
2014-03-27 15:05:41,627 DEBUG - SQLiteCommand Creating...
2014-03-27 15:05:41,627 DEBUG - SQLiteCommand Created!
2014-03-27 15:05:41,627 DEBUG - SQLiteCommand executing reader...
2014-03-27 15:05:41,658 DEBUG - SQLiteCommand executed reader!
2014-03-27 15:05:41,658 DEBUG - DataTable Loading...
2014-03-27 15:05:41,767 DEBUG - DataTable Loaded!
Run Code Online (Sandbox Code Playgroud)

如您所见,在这种情况下,打开连接需要1.7秒.我试过重复这个,无法预测后续连接是否会立即打开,或者像这样延迟.

我考虑过使用某种形式的连接池,但是对于单实例单线程应用程序来说,这是值得的吗?现在,我正在创建一个SQLiteDatabase类的实例,并为每个查询调用以下函数.

public DataTable GetDataTable(string sql)
{ …
Run Code Online (Sandbox Code Playgroud)

c# file-io system.data.sqlite network-service

6
推荐指数
1
解决办法
2554
查看次数

标签 统计

c# ×1

file-io ×1

network-service ×1

system.data.sqlite ×1