Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ORM (object relational manager) solution with multiple programming language support

Tags:

c++

python

c#

orm

Is there a good ORM (object relational manager) solution that can use the same database from C++, C#, Python?

It could also be multiple solutions, e.g. one per language, as long as they can can access the same database and use the same schema.

Multi platform support is also needed.

Clarification:

The idea is to have one database and access this from software written in several different programming languages. Ideally this would be provided by one ORM having APIs (or bindings) in all of these languages.

One other solution is to have a different ORM in each language, that use compatible schemas. However I believe that schema migration will be very hard in this setting.

like image 345
Ber Avatar asked Jan 27 '09 08:01

Ber


People also ask

What is an ORM in programming?

Object-relational mapping (ORM) is a programming technique in which a metadata descriptor is used to connect object code to a relational database. Object code is written in object-oriented programming (OOP) languages such as Java or C#.

What is ORM and why is it used?

What is an ORM? An object-relational mapper provides an object-oriented layer between relational databases and object-oriented programming languages without having to write SQL queries. It standardizes interfaces reducing boilerplate and speeding development time.

Does Python have ORM?

An ORM is a database abstraction layer that sits as an intermediary between you and the database engine. It allows you to define regular Python objects and methods and translates them into low-level SQL database instructions for you. SQLAlchemy is the ORM of choice for working with relational databases in python.

What is mysql ORM?

An object-relational mapper (ORM) is a code library that automates the transfer of data stored in relational database tables into objects that are more commonly used in application code.


2 Answers

With SQLAlchemy, you can use reflection to get the schema, so it should work with any of the supported engines.

I've used this to migrate data from an old SQLite to Postgres.

like image 91
Matthew Schinckel Avatar answered Oct 05 '22 01:10

Matthew Schinckel


I know DataAbstract for Pascal, C# and soon for objective C for Mac and Iphone but no Python support.

like image 41
Hugues Van Landeghem Avatar answered Oct 05 '22 01:10

Hugues Van Landeghem