Find Jobs
Hire Freelancers

C# - Port a database adaptor from Firebird to PostGres/MSSQL/Oracle & MySQL

$30-250 USD

Cancelled
Posted about 5 years ago

$30-250 USD

Paid on delivery
I have developed an ORM system that currently uses Firebird SQL database as a back-end. I have a produced an abstract Database class whereby each database that I will support will be inherited from a class called "Database". I need assemblies making for PostGres/MSSql/Oracle/MySQL (and potentially other databases) so that I can support all these different servers. Please supply quotation PER DATABASE to be supported. If I am happy with your work we will renew contract for each database. Need to start with PostGres. Each assembly will require some virtual methods to be overridden to support 3 forms of functionality: 1) Inherit DataBase class and implement virtual functions for Backup, Restore and NewDatabase - ideally should forward request on to official DB backup/restore utility - ideally through API or could spawn command line if no .net API available. This will allow my app to easily create/backup/restore a database providing a folder and filename where backup / database is to be located. 2) Provide a subclass within the database class called TFunctions which should list as static methods all the internal stock database functions the database supports (COALESCE(..,..,...), ABS()), CONCAT() etc: public abstract class FbSqlFunctions : [login to view URL] { protected Expression COALESCE(params Expression[] expressions) { var expressionList = [login to view URL](o => [login to view URL]).ToList(); var expressionStringList = [login to view URL](expressionList); return new Expression() { Value = $"COALESCE({expressionStringList}" }; } } If it turns out that certain functions are supported by all the database servers then the function should be moved to the base class to avoid duplication of code in sub-classes. 3: Each database may have slightly different syntax for creating tables / views /triggers. So third area is to inherit functions such as CreateView(Name, Fields,Text) -> and spit out the correct SQL each given DB server. Again keep as much common notation as possible in base class to avoid replication. Project ready to start immediately. PostGres is priority. We will start with that. If I am happy with your work Then we will proceed to implement the other 3 databases and probably 4-5 less well known databases.
Project ID: 18728605

About the project

1 proposal
Remote project
Active 5 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs

About the client

Flag of UNITED KINGDOM
Stirling, United Kingdom
5.0
4
Payment method verified
Member since Oct 23, 2017

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.