Orange Forum • View topic - Dataset Input/Output flexibility

Dataset Input/Output flexibility

A place to ask questions about methods in Orange and how they are used and other general support.

Dataset Input/Output flexibility

Postby sktan » Fri Aug 19, 2005 3:09

Hi,

I was wondering if Orange is able to connect to databases such as Oracle or MSSQL (perhaps through a defined ODBC within Orange?). Also, is it possible for Orange to gel with other languages besides Python? Such as maybe Java or .Net. Generally, I would just like to know how flexible Orange is. Thanks.

Regards,
sktan
Multimedia University, Malaysia.

Postby Blaz » Fri Aug 19, 2005 12:50

We have an SQL interface (reading and writing data files) called orngSQL, but needs some testing before we give it out. If there is much need, we can put this on priority.

In our lab we have never tried Orange with Java or .Net. Orange's core is in plan C++ and compiles under Visual Studio, so linking it with .Net should not be a problem. But you would loose all the code written in Python. Same for Java, except that there is jython (http://www.jython.org/).

my vote

Postby Guest » Thu Jan 19, 2006 23:28

I put in a very strong vote for SQL/ODBC data module. We may develop this ourselves if not available soon.

Of course, it would be of help to start where you left off.

SQL would be very useful

Postby Yale Bioinformatics » Thu Apr 13, 2006 16:03

I wholeheartedly agree that a widget to connect to a database and use a SQL query result as your starting dataset would be very helpful. I for one would be happy to help beta test such a widget.

Postby Blaz » Thu Apr 20, 2006 15:57

The Orange interface to MySQL is from today on made available through orngMySQL module, the documentation is on the web. The module is now on CVS, and should be in daily snapshot somwhere after the midnight today.

Postby Guest » Thu Sep 07, 2006 18:20

Blaz wrote:The Orange interface to MySQL is from today on made available through orngMySQL module, the documentation is on the web. The module is now on CVS, and should be in daily snapshot somwhere after the midnight today.


It would be just great to have a connector to ODBC. Then you can actually hook up anywhere that supports ODBC. Does that already exist?

Postby Blaz » Thu Sep 07, 2006 19:57

no that we in ljubljana would know. but with packages such as mxODBC this does not look very complex. currently, our priorities are elsewhere, but under much pressure ...

Canvas Module

Postby neuroman » Wed May 16, 2007 17:18

What about a MySQL Canvas module? Will this be made available to import data into the GUI like the File module?

Also, is there a simple way to call the Canvas/GUI's plan from python? It would be nice to be able to visually create the plan and subsequently call the plan programmatically, simply being able to change the inputs and obtain the results for further processing.

Postby Blaz » Wed May 16, 2007 20:24

One of Ljubljana's student is just working on this (that is, on the widget for direct access to mySQL and similar). I hope we'll have something on this within few weeks.

Postby polz » Thu May 17, 2007 10:13

I'm the guy working on an SQL Canvas module and it's backend.
The backend is based on the python database API and can support any database which
has an adapter conformant with http://www.python.org/dev/peps/pep-0249/ . For now, that means MySQL and Postgres, but adding support for other backends is trivial.

The widget itself (for now) consists of 2 text entry forms - one for the database and one for the SQL query. Error handling is non-existant and the feedback is useless. As soon as these two major flaws are fixed, the widget will be commited into Orange.

The backend and widget also don't perform any discretization on the data. It also does not yet support the writing of data back into the database.
The orngMySQL handles these two tasks, but does so in a clumsy way. The discretization is done by parsing the SQL statement and then performing the appropriate "select distinct.." queries. Since "select distinct" might be too slow on large datasets (as it is on mine), I do not beleive it to be an acceptable solution. For the first release, I intend to use the naming scheme from http://www.ailab.si/orange/doc/referenc ... nDepot.htm .

I hope this helps.


Return to Questions & Support