solidDB® supports ODBC and JDBC interfaces that enable application developers to write applications with C or Java languages calling ODBC functions or JDBC methods and writing or generating the SQL string at the application level.
solidDB® also provides two proprietary interfaces, solidDB® Application Programming Interface (SA API) and solidDB® Server Control API (SSC API). These allow, for example, C programs to directly call functions inside the database server. These proprietary interfaces are provided with the linked library access (LLA) and shared memory access (SMA) libraries.
Other programming environments
Multiple ways exist to raise the abstraction level from the ODBC/JDBC level. It can be done either by enabling database access from various (usually higher level programming or scripting languages, such as Visual Basic, Perl, and PHP) or enabling database access directly through application level objects that are able to load or save themselves without the application programmer having to be aware of database connections, transactions, or even SQL Strings.
Database access from higher level programming is usually based on some middleware component translating the higher level language calls to regular ODBC or JDBC calls. In these conditions, the middleware component is seen as an application from the database perspective. Usually the middleware components hide the difference between database brands. However, as solidDB® is a relatively new product, not all middleware vendors explicitly list it among the supported database products. In those cases, there is usually an option to have a generic ODBC database or generic JDBC database that works with solidDB® drivers.
Certain programming environments do not have a direct counterpart in solidDB® applications, such as Embedded SQL or Java-based stored procedures. Applications designed to run on these programming environments must be redesigned to fit solidDB®.