Search code examples
c#quartz.net

Quartz.net 3.0.6 with system.data.sqlite 1.0.109, no metadata information for provider "SQLite-10"


I'm using configuration section in the app.config as below. The .net runtime is 4.6.2. After running the executable, I got System.ArgumentOutOfRangeException: There is no metadata information for provider 'SQLite-10' Parameter name: providerName What is the possible problem? TIA

 <quartz>
<add key="quartz.scheduler.instanceName" value="MyScheduler" />
<add key="quartz.scheduler.instanceId" value="Quartz" />
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" />
<add key="quartz.jobStore.misfireThreshold" value="60000" />
<add key="quartz.jobStore.lockHandler.type" value="Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz" />
<add key="quartz.jobStore.useProperties" value="true" />
<add key="quartz.jobStore.dataSource" value="default" />
<add key="quartz.jobStore.tablePrefix" value="QRTZ_" />
<add key="quartz.jobStore.driverDelegateType" value="Quartz.Impl.AdoJobStore.SQLiteDelegate, Quartz" />
<add key="quartz.dataSource.default.provider" value="SQLite-10" />
<add key="quartz.dataSource.default.connectionString" value="Data Source=..\LocalData\scheduler.db;Version=3;" />

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
        <bindingRedirect oldVersion="1.0.88.0" newVersion="1.0.109.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

Solution

  • The configuration of Quartz has slightly changed in 3.x. The provider is set without the version like in 2.x. Just use this:

    <add key="quartz.dataSource.default.provider" value="SQLite" />
    

    All providers can be seen here.