The Virtuoso client components may be downloaded and installed freely for use against any Virtuoso server.
ODBC is Virtuoso's native client API. Virtuoso supports all ODBC 2.0 and 3.5 features on Windows and Unix-like OS, in both 32- and 64-bit variants of the API. The ODBC implementation is extensively tested with all major Windows ODBC applications. The implementation has array parameters for bulk operations, scrollable cursors, positioned operations, etc. The Windows ODBC driver supports the Microsoft distributed transaction ("DTC") related connection options.
Virtuoso has pure Java JDBC drivers. The drivers are JDBC 3.0 and JDBC 4.0 compatible, supporting connection pooling, XA interfaces for JTA, scrollable cursors, array parameters, etc.
Virtuoso has pure ADO.NET data providers supporting .NET Frameworks 1.1 through 3.5 and beyond, including Entity Frameworks. These providers work with both the Windows CLR and Mono on Linux and other supported Unix-like platforms.
Virtuoso has native OLE DB providers for Windows, both 32-bit and 64-bit. These have been tested with Microsoft Visual Studio, Microsoft SQL Server and other OLE DB applications. However, OLE DB is not the recommended data access interface, unless existing applications already use it.
Virtuoso has built-in server side support for scrollable cursors. Static, keyset driven, and dynamic cursors are supported. All cursor types support bookmarks, and a single cursor can survive multiple transactions. Forward-only cursors also keep their position across commits and rollbacks. Scrollable cursors support optimistic concurrency for positioned updates/deletes.