Quzrtz.net-sqlite 資料庫持久化配置
Quzrtz.net-sqlite 資料庫持久化配置
官方配置持久化資料:http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/job-stores.html
持久化建庫指令碼位置:在下載的 quartz 原始碼 database/dbtables/tables_sqlite.sql 位置,使用 SqliteStudio 工具執行就行了1.下載原始碼(我下載的是 2.3.3.0 版本)
2.開啟專案,找到 dbproviders.properties 檔案 ,該檔案是個嵌入資源
位置:Quartz\Impl\AdoJobStore\Common\dbproviders.properties
3.發現 quartz 2.3.3.0 支援 System.Data.SQLite.dll(1.0.88.0) 的驅動
4.檢視自己的引用的(System.Data.SQLite.dll)是 1.0.102.0 版本,所以需要新加一個驅動描述。如下:
# Sqlite3.0 provider
quartz.dbprovider.SQLite-10102.assemblyName=System.Data.SQLite, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
quartz.dbprovider.SQLite-10102.connectionType=System.Data.SQLite.SQLiteConnection, System.Data.SQLite, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
quartz.dbprovider.SQLite-10102.commandType=System.Data.SQLite.SQLiteCommand, System.Data.SQLite, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
quartz.dbprovider.SQLite-10102.parameterType=System.Data.SQLite.SQLiteParameter, System.Data.SQLite, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
quartz.dbprovider.SQLite-10102.commandBuilderType=System.Data.SQLite.SQLiteCommandBuilder, System.Data.SQLite, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
quartz.dbprovider.SQLite-10102.parameterDbType=System.Data.SQLite.TypeAffinity, System.Data.SQLite, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
quartz.dbprovider.SQLite-10102.parameterDbTypePropertyName=DbType
quartz.dbprovider.SQLite-10102.parameterNamePrefix=@
quartz.dbprovider.SQLite-10102.exceptionType=System.Data.SQLite.SQLiteException, System.Data.SQLite, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
quartz.dbprovider.SQLite-10102.useParameterNamePrefixInParameterCollection=true
quartz.dbprovider.SQLite-10102.bindByName=true
5.編寫一個函式在初始化 quartz 前呼叫
#region 資料庫持久化job
private static IScheduler _sched = null;
/// <summary>
/// 初始化資料庫儲存
/// </summary>
public void InitDbStore()
{
//持久化配置參考
//http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/job-stores.html
//新增驅動型別
//位置:\Quartz\Impl\AdoJobStore\Common\dbproviders.properties
//1.首先建立一個作業排程池
var properties = new NameValueCollection();
//儲存型別
properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz";
//表明字首
properties["quartz.jobStore.tablePrefix"] = "QRTZ_";
//驅動型別
properties["quartz.jobStore.driverDelegateType"] = "Quartz.Impl.AdoJobStore.StdAdoDelegate, Quartz";
//資料來源名稱
string DBName = "quartz_storage";
string DbPath = Grass.Config.ConfigHelper.GetAppSettingsValue("quartz_storage"); //獲取config中 quartz_storage 節點內容
//資料來源名稱
properties["quartz.jobStore.dataSource"] = DBName;
//拼接連線屬性名稱
string conPropertieName = string.Format("quartz.dataSource.{0}.connectionString", DBName);
//連線字串
properties[conPropertieName] = string.Format("Data Source={0};Pooling=true;FailIfMissing=false;Version=3;UTF8Encoding=True;Journal Mode=DELETE;", DbPath);
//拼接驅動屬性名稱
string proPropertieName = string.Format("quartz.dataSource.{0}.provider", DBName);
properties[proPropertieName] = "SQLite-10102"; //新加的驅動名稱
//Configuring AdoJobStore to use strings as JobDataMap values (recommended)
properties["quartz.jobStore.useProperties"] = "true";
ISchedulerFactory sf = new StdSchedulerFactory(properties);
_sched = sf.GetScheduler();
}
#endregion
6.配置config appsettings
<add key="quartz_storage" value="E:\SqliteDb\quartz_storage.db"/>
相關文章
- 資料持久化,好高階~哎,資料庫啊!!持久化資料庫
- Redis資料持久化—RDB持久化與AOF持久化Redis持久化
- Redis——Redis用作資料庫(持久化/RDB/AOF)Redis資料庫持久化
- 使用Hector和Scala持久化Cassandra資料庫持久化資料庫
- fabric資料持久化持久化
- Redis 資料持久化Redis持久化
- web 資料持久化Web持久化
- Docker資料持久化Docker持久化
- Flutter持久化儲存之資料庫儲存Flutter持久化資料庫
- Python SqlAlchemy資料庫持久化使用方法PythonSQL資料庫持久化
- Docker之 資料持久化Docker持久化
- Redis的資料持久化Redis持久化
- 鴻蒙資料持久化sqlite鴻蒙持久化SQLite
- Docker最全教程——資料庫容器化之持久儲存資料(十一)Docker資料庫
- 資料的序列化&持久化持久化
- Redis持久化及其配置Redis持久化
- 資料庫持久連線理解資料庫
- iOS資料持久化設計iOS持久化
- 詳解 ZooKeeper 資料持久化持久化
- iOS中的資料持久化iOS持久化
- ActiveMQ 訊息資料持久化MQ持久化
- Kafka實戰-資料持久化Kafka持久化
- redis學習 - 資料持久化Redis持久化
- 可持久化資料結構持久化資料結構
- 【許曉笛】EOS 資料庫與持久化 API —— 架構資料庫持久化API架構
- 【許曉笛】EOS 資料庫與持久化 API —— 實戰資料庫持久化API
- 基於Docker部署Oracle、MySQL等資料庫的資料檔案持久化DockerOracleMySql資料庫持久化
- redis之 Redis持久化配置Redis持久化
- Docker下Nacos持久化配置Docker持久化
- 使用Room持久庫儲存資料OOM
- Redis單機資料庫持久化與過期建刪除Redis資料庫持久化
- Docker --volume-資料持久化Docker持久化
- iOS資料持久化儲存-CoreDataiOS持久化
- 到底什麼是資料持久化持久化
- 【Unity】資料持久化PlayerPrefsUnity持久化
- 鴻蒙首選項資料持久化鴻蒙持久化
- 可持久化資料結構1持久化資料結構
- SDB :純 golang 開發、資料結構豐富、持久化的 NoSQL 資料庫Golang資料結構持久化SQL資料庫