An application can connect to the solidDB server by using network drivers or libraries, or an application can link directly to the server by including a library that has an embedded solidDB server.
Client/server access method
In client/server access methods, the applications and the solidDB server are separate programs that typically communicate by using the solidDB ODBC driver, solidDB JDBC driver, or solidDB SQL HTTP interface.
ODBC
The solidDB ODBC Driver conforms to the Microsoft ODBC 3.51 API standard. solidDB ODBC Driver supported functions are accessed with solidDB ODBC API, a Call Level Interface (CLI) for solidDB databases, which is compliant with ANSI X3H2 SQL CLI.
For more details about the solidDB ODBC Driver, see solidDB ODBC API.
JDBC
The solidDB JDBC Driver allows Java applications to access the database by using JDBC. The solidDB JDBC Driver implements most of the JDBC 2.0 specification.
solidDB HTTP SQL Access provides a basic set of database access features that can be used by most applications that are developed in programming languages that have the ability to configure HTTP connectivity.
For more details about solidDB HTTP SQL Access, including the limitations, see solidDB HTTP SQL Access.
solidDB API (SA)
Applications can also use the proprietary solidDB API (SA) to connect to a separate solidDB server, see Proprietary interfaces.
Shared Memory Access and Linked Library Access
Direct linking is provided through Shared Memory Access (SMA) and Linked Library Access (LLA). SMA and LLA are implemented as library files that contain a complete copy of the solidDB server in a library form. The SMA and LLA servers can also handle requests from remote applications that connect to the server by using network communication protocols such as TCP/IP. For remote applications, the SMA or LLA server is similar to any other solidDB server; for local applications, the SMA or LLA server is a more precisely controllable version of the solidDB server.
solidDB also provides two proprietary interfaces, the solidDB Application Programming Interface (SA API) and the solidDB Server Control API (SSC API). These interfaces allow, for example, C programs to directly call functions inside the database server. These proprietary interfaces are provided with the LLA and SMA libraries.
Note The SMA library supports only a subset of the SA API and SSC API functions.
solidDB SA is a low-level C-language client library for accessing data in solidDB database tables. The library contains about 90 functions that provide low-level mechanisms for connecting the database and running cursor-based operations.
In most cases, you can use the standards-based interfaces, such as ODBC or JDBC. However, in environments with heavy write loads (for example, batch inserts or updates), solidDB SA can provide a significant performance advantage.
For more information about solidDB SA, see solidDB SA.
solidDB Server Control API (SSC API)
The solidDB Server Control API (SSC API) is a set of functions that provide simple and efficient means to control the tasking system of a solidDB. For example, the SSC API functions are used to start and stop the LLA and SMA server.
The solidDB Server Control API (SSC API) for Java is a proprietary API, named after the SolidServerControl class. The SSC API for Java calls are used to start and stop the linked library access (LLA) server. The actual database connections are done with normal solidDB JDBC API. Both the SSC API for Java classes and solidDB JDBC driver classes are included in the solidDB JDBC driver (SolidDriver2.0.jar).