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.

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/).

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.

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?

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.

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 whichhas 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 .