ccMatrix Wrote:The idea behind this is to use a technology like ODBC to allow an advanced user to let XBMC connect to pretty much any SQL based database he has setup.
I agree. But ODBC is not
per se an abstraction layer. It allows for an ODBC socket transactions. There are other things that databases do that ODBC in and of itself will not accomplish. Plus it's an aging protocol that is rather latency sensitive (I should know, started out as a DBA on Keyfile, Sqlserver 7 and Oracle 8
). Typically:
Application --> ADO --> ODBC --> Database
Quote: Thereby he can use a central server to store the database for several XBMC installations in the house and they are automatically in sync since they use the same database.
Thats great but that's the back end... which can be virtually anything. My feelings are that you should have multiple ways of accessing the XBMC suite. There are already great, well developed APIs (e.g., HTTP-API), having the right levels of abstraction built in will allow for rapid prototyping minimally. I would think at this stage flexibility is essential. Developing a framework is key, not hardcoding any sort of quickfix.
Quote: AFAIK ADOdb is not platform independent so while it might be considered to provide database access to the integrated WebServer (see previous discussion) it isn't a very good candidate for this endeavor.
It's true not everything will run of Windows well, especially on all versions of Windows.
That said, if Oracle can hook up to it, so can all the others on the list.
Quote:OpenDBX currently also seems to be Unix/Linux/OS-X solution. Real native Windows support is still missing so it might be an alternative in the future but isn't currently an option - except if someone wants to add Windows support and then integrate it into XBMC.
What do you mean by real native support? We don't have OSS kernel hackers in Windows you know. OpenGL and X both run well on windows, and still by MS standards they are not "native". Here is a
OpenDBX statement on the matter:
Starting with release 1.3.10, the Windows platform is supported via the Cygwin or MinGW environments. Since version 1.3.11, the applications in "utils/" directory are built by default. If you want to leave this out of the build process, you can disable compilation... The steps to build the OpenDBX library are the same as in the Unix environment.
MinGW is a "native" port of GNU to windows. Cygwin is more "emulated" but no less functional IMHO. You can just about script anything in windows with the latter *nix style.
BTW, what do people think of Apache Derby RDBMS? Yes it's Java based but it's pretty light weight and comes embedded.