簡體   English   中英

如何在C#或VB.NET中使用SqLite連接池?

[英]How to use SqLite connection pool in C# or VB.NET?

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()

但是,我找不到這樣的課程。

=> 如何返回連接池的連接

=> 如何重用先前已返回池的連接

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 

SQLite驅動程序將為您管理池,但是,在使用連接時,有許多關鍵點沒有實現。

OPEN LATE,關閉EARY

如果連接已打開,則無法將該連接返回到池中。 因此,您可以創建連接,准備語句,但是,只在執行查詢之前立即打開連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM