About the Database Link for Mathematica
Database Link for Mathematica was built to make the power of todays database technology available to Mathematica users. This is achieved through providing the Mathematica user with a seamless way to interact with database servers which goes way beyond just exchanging data between Mathematica and databases.
Linking Mathematica and database servers opens a great range of new possibilities. As a result of the list oriented design of Mathematica and the tight integration of Mathematica with databases through this Database Link it is now possible to do data manipulations and numerical and graphical data analysis with remarkable ease.
In almost every empirical project the time to gather and format data exceeds the time to do the analysis. The integration of Mathematica with databases saves you hours or days of tedious work.
How This Product Works
The Database Link uses the Microsoft Data Access Objects (DAO) to interact with the different database servers. It makes the methods of these classes available under Mathematica using the C interface MathLink.To simplify the handling of these classes a package, database.mx, is included which provides the Mathematica users with a familar interface. Still there is the need for the user to acquaint herself with the SQL-commands and with the setup of relational databases.
The Database Link was built with the aim to make interfacing between databases and Mathematica as simple as possible. Therefore essentialy all the work is done through one new command Sql which just passes through SQL-commands to DAO. Before the SQL command is handed over to DAO it gets parsed e.g. to see what kind of return type is expected. If the SQL command generates an error, the complete error message is returned to Mathematica, allowing the user to see what went wrong. Just passing through but parsing the SQL commands allows to utilize the full power of database servers to handle standard SQL commands and extensions from different vendors. Limitations mostly relate to ODBC drivers which do not support the full command set of a specific database server.