SqLite的连接字符串可以包含使用连接池的选项,例如: (伪代码)
Dim connectionString = "Data Source=" + Path + ";" +
"Version=3;" +
"Pooling=True;" +
"Max Pool Size=100;"
我希望有一些额外的类或工厂方法来使用连接池,例如
dim connectionPool = new SqLiteConnectionPool(connectionString)
dim firstConnection = connectionPool.getConnection()
...
firstConnection.dispose()
...
dim secondConnection = connectionPool.getConnection()
但是,我找不到这样的课程。
=> 如何返回与连接池的连接?
=> 如何重用先前已返回池中的连接?
搜索" pool"在https://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki上没有给出任何结果。
a)我是否必须多次调用连接的构造函数?
dim firstConnection = new SqLiteConnection(connectionString)
...
firstConnection.dispose()
dim secondConnection = new SqLiteConnection(connectionString)
多次传递连接字符串对我来说似乎不太直观。
b)或者我只创建一次连接并以某种方式在关闭/处置后将其唤醒?
dim connection = new SqLiteConnection(connectionString))
using connection
...
end using
connection.open()
using connection
...
end using
答案 0 :(得分:3)
SQLite驱动程序将为您管理池,但是,在使用连接时,有许多关键点无法实现。
OPEN LATE,CLOSE EUSE
如果连接已打开,则无法将该连接返回到池中。因此,您可以创建连接,准备语句,但只能在执行查询之前立即打开连接。