# Announcing storage provider supporting MSSQL, Oracle, DB/2, MySQL, Firebird, PostgreSQL

**URL:** <https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191>\
**Category:** storage\
**Created:** [December 23, 2017, 5:34pm UTC](https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191 "2017-12-23T17:34:15Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Xavier\_Jefferson](https://dub1.discourse-cdn.com/flex017/user_avatar/discuss.hangfire.io/xavier_jefferson/32/1196_2.png) [@Xavier\_Jefferson](https://discuss.hangfire.io/u/Xavier_Jefferson)\
**Post date:** [December 23, 2017, 5:34pm UTC](https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191/1 "2017-12-23T17:34:15Z")

</div>

Hi, all! I’ve been a Hangfire enthusiast now for about two years. During a large span of that time, I fretted a whole lot because the SQL Server storage implementation uses Entity Framework, which is not compatible with the RDBMS I had available at the time (SQL Server 2005). I decided to take a different approach and develop one that doesn’t use Entity Framework, and since I’ve had a whole lot of experience with Fluent NHibernate as an OR/M, I went through a few attempts with that.

After a few crashes-and-burns, HERE IT IS!

Nuget: [https://www.nuget.org/packages/Hangfire.FluentNHibernateStorage/](https://www.nuget.org/packages/Hangfire.FluentNHibernateStorage/)  
Github: [https://github.com/xavierjefferson/Hangfire.FluentNHibernateStorage](https://github.com/xavierjefferson/Hangfire.FluentNHibernateStorage)

This version has been tested with MSSQL, MySQL, and PostgreSQL. There is provision, also, for Oracle, DB/2, and Firebird. This code was forked from the MySQL implementation developed by **arnoldsgudas**.

Please go ahead. Kick the tires and pass along any fitting recommendations.

---

<div class="post-metadata">

**Author:** ![pieceofsummer](https://dub1.discourse-cdn.com/flex017/user_avatar/discuss.hangfire.io/pieceofsummer/32/785_2.png) [@pieceofsummer](https://discuss.hangfire.io/u/pieceofsummer)\
**Post date:** [December 26, 2017, 11:27am UTC](https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191/2 "2017-12-26T11:27:35Z")

</div>

First of all, I recommend to review the code side-by-side with SQL Server storage implementation, because mysql storage may contain errors on its own, which you inherit along with your own 🙂

For example, it is known to use a wrong data type for score column, which leads to precision losses, so delayed jobs miss the scheduled time.

---

<div class="post-metadata">

**Author:** ![Xavier\_Jefferson](https://dub1.discourse-cdn.com/flex017/user_avatar/discuss.hangfire.io/xavier_jefferson/32/1196_2.png) [@Xavier\_Jefferson](https://discuss.hangfire.io/u/Xavier_Jefferson)\
**Post date:** [December 26, 2017, 3:24pm UTC](https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191/3 "2017-12-26T15:24:24Z")

</div>

Believe it or not, I already found that bug with the score column 🙂 because when Hangfire utilizes it, it’s of type double (not float). I’m sure this thing isn’t perfect, but it’s a start. Thanks!

---

<div class="post-metadata">

**Author:** ![mmangiamusardo](https://dub1.discourse-cdn.com/flex017/user_avatar/discuss.hangfire.io/mmangiamusardo/32/1241_2.png) [@mmangiamusardo](https://discuss.hangfire.io/u/mmangiamusardo)\
**Post date:** [February 23, 2018, 1:33pm UTC](https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191/4 "2018-02-23T13:33:27Z")

</div>

Is there any news about Oracle support?  
any feedback from some well tested real case?

thanks in advance

---

<div class="post-metadata">

**Author:** ![Xavier\_Jefferson](https://dub1.discourse-cdn.com/flex017/user_avatar/discuss.hangfire.io/xavier_jefferson/32/1196_2.png) [@Xavier\_Jefferson](https://discuss.hangfire.io/u/Xavier_Jefferson)\
**Post date:** [February 23, 2018, 3:35pm UTC](https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191/5 "2018-02-23T15:35:17Z")

</div>

I did testing on Oracle and even got some feedback from a gentleman in Spain who put it to use with Oracle.

---

<div class="post-metadata">

**Author:** ![Xavier\_Jefferson](https://dub1.discourse-cdn.com/flex017/user_avatar/discuss.hangfire.io/xavier_jefferson/32/1196_2.png) [@Xavier\_Jefferson](https://discuss.hangfire.io/u/Xavier_Jefferson)\
**Post date:** [February 23, 2018, 3:37pm UTC](https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191/6 "2018-02-23T15:37:38Z")

</div>

… I used the managed drivers for Oracle. Be sure to check the documentation as there’s specific configuration to use those.

---

<div class="post-metadata">

**Author:** ![mmangiamusardo](https://dub1.discourse-cdn.com/flex017/user_avatar/discuss.hangfire.io/mmangiamusardo/32/1241_2.png) [@mmangiamusardo](https://discuss.hangfire.io/u/mmangiamusardo)\
**Post date:** [February 23, 2018, 3:39pm UTC](https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191/7 "2018-02-23T15:39:02Z")

</div>

Nice! at this point, I ask my self what’s need for Entity Framework version 😉

---

<div class="post-metadata">

**Author:** ![Rupesh\_Shivarkar](https://avatars.discourse-cdn.com/v4/letter/r/3ab097/32.png) [@Rupesh\_Shivarkar](https://discuss.hangfire.io/u/Rupesh_Shivarkar)\
**Post date:** [September 10, 2018, 6:08pm UTC](https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191/8 "2018-09-10T18:08:53Z")

</div>

Thanks for this sample I tried using it with oracle and I am able to see jobs are running as per schedule in sample code but I see many exceptions in log file - (0x80004005): ORA-08177: can’t serialize access for this transaction "  
More information is in below link

> <https://github.com/xavierjefferson/Hangfire.FluentNHibernateStorage/issues/3>

---

<div class="post-metadata">

**Author:** ![CharcoalUchiha](https://dub1.discourse-cdn.com/flex017/user_avatar/discuss.hangfire.io/charcoaluchiha/32/1402_2.png) [@CharcoalUchiha](https://discuss.hangfire.io/u/CharcoalUchiha)\
**Post date:** [September 26, 2018, 3:27pm UTC](https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191/10 "2018-09-26T15:27:26Z")

</div>

Hello, I will be re-opening my Hangfire.Oracle extension. I posted a discussion on here regarding my findings with Hangfire and ASP`.`Net. Here’s the link:

[Oracle Extension](http://hangfire.discourse.group/t/oracle-extension-re-opened/5266)

---

<div class="post-metadata">

**Author:** ![Xavier\_Jefferson](https://dub1.discourse-cdn.com/flex017/user_avatar/discuss.hangfire.io/xavier_jefferson/32/1196_2.png) [@Xavier\_Jefferson](https://discuss.hangfire.io/u/Xavier_Jefferson)\
**Post date:** [November 8, 2018, 10:49pm UTC](https://discuss.hangfire.io/t/announcing-storage-provider-supporting-mssql-oracle-db-2-mysql-firebird-postgresql/4191/11 "2018-11-08T22:49:16Z")

</div>

Updated nuget package.
