Google Spanner JDBC Driver

Read, Write, and Update Google Spanner through JDBC

Easily connect live Google Spanner data with Java-based BI, ETL, Reporting, & Custom Apps.


  download   buy now


Other Google Technologies


Google Spanner Logo

The Google Spanner JDBC Driver enables users to connect with live Google Spanner data, directly from any applications that support JDBC connectivity. Rapidly create and deploy powerful Java applications that integrate with Google Cloud Spanner databases.

Features

  • For interest in accessing a private beta of Spanner Analytics and Data Boost connectivity, please contact our support team at support@cdata.com.
  • Fully compatible with Google Spanner RPC API V1
  • Connect to live Google Spanner data, for real-time data access
  • Full support for data aggregation and complex JOINs in SQL queries
  • Secure connectivity through modern cryptography, including TLS 1.2, SHA-256, ECC, etc.
  • Seamless integration with leading BI, reporting, and ETL tools and with custom applications

Specifications

  • Pure Java Type 4/5 JDBC Driver for Google Spanner with bi-directional access.
  • Write SQL, get Google Spanner data. Access Google Spanner through standard Java Database Connectivity.
  • Codeless integration with popular BI, Reporting, & ETL Tools.
  • An easy-to-use JDBC interface for working with Spanner Cloud databases.
  • Full Unicode support for data, parameter, & metadata.
  • Support for 32-bit and 64-bit operating systems.


AVAILABLE IN:
JDBC DESKTOP SUBSCRIPTIONS
225+ JDBC Drivers For Real-Time BI & Reporting.
LEARN MORE

Where can I use the Google Spanner JDBC Driver?

JDBC Access to Google Spanner

Full-featured and consistent SQL access to any supported data source through JDBC


  • Pure Java Type 4/5* Drivers

    100% Java architecture based drivers that implement the native protocol without reliance on client-side libraries.

  • All-in-One Deployment

    Single JAR that supports JDBC Specification 4.2 and JVM 1.8 and above.

  • Certified Compatibility*

    Our drivers undergo extensive testing and are certified to be compatible with leading analytics and reporting applications like SAP Crystal Reports, Pentaho, Business Objects, Crystal Reports and many more.

  • Metadata Discovery

    Full support for JDBC DatabaseMetaData provides extensive schema discovery capabilities. Explore tables, columns, keys, and other data constructs based on user identity.

  • Developer Friendly

    Design-time support for all major Java IDEs, including Eclipse, IntelliJ, and NetBeans.

  • JDBC Remoting

    Our exclusive remoting feature allows hosting the JDBC connection on a server to enable connections from various clients on any platform (Java, .NET, C++, PHP, Python), using any standards-based technology (ODBC, JDBC, etc.). JDBC Remoting is enabled using the popular MySQL wire protocol server.

  • Replication and Caching

    Our replication and caching commands make it easy to copy data to local and cloud data stores such as Oracle, SQL Server, Google Cloud SQL, etc. The replication commands include many features that allow for intelligent incremental updates to cached data.

  • String, Date, Numeric SQL Functions

    The driver includes a library of over 50 functions that can manipulate column values into the desired result. Popular examples include Regex, JSON, and XML processing functions.

  • Collaborative Query Processing

    Our drivers enhance the data source's capabilities by additional client-side processing, when needed, to enable analytic summaries of data such as SUM, AVG, MAX, MIN, etc.

  • Easily Customizable and Configurable

    The data model exposed by our JDBC Drivers can easily be customized to add or remove tables/columns, change data types, etc. without requiring a new build. These customizations are supported at runtime using human-readable schema files that are easy to edit.

  • Secure Connectivity

    Includes standard Enterprise-class security features such as TLS/ SSL data encryption for all client-server communications.

JDBC Driver Performance

With traditional approaches to remote access, performance bottlenecks can spell disaster for applications. Regardless if an application is created for internal use, a commercial project, web, or mobile application, slow performance can rapidly lead to project failure. Accessing data from any remote source has the potential to create these problems. Common issues include:

  1. Network Connections - Slow network connections and latency issues are common in mobile applications.
  2. Service Delays - Delays due to service interruptions, resulting in server hardware or software updates.
  3. Large Data - Intentional or unintentional requests for large amounts of data.
  4. Disconnects - Complete loss of network connectivity.

The CData JDBC Driver for Google Spanner solves many of these issues with support for replication queries that can be used to sync data to local databases, greatly improving the performance and dramatically reduce application bottlenecks.

More information about JDBC Driver performance capabilities are available in the included documentation.

Enterprise-Class Remoting

MySQL/SQL Database entry points for Google Spanner Data

The CData JDBC drivers include powerful fully-integrated remoting capabilities that makes Google Spanner data accessible from virtually anywhere. The drivers include the optional ability to accept incoming SQL and MySQL client connections and service standard database requests.

With the CData JDBC drivers, users can interact with Google Spanner data from any client that supports SQL Server or MySQL: from web & mobile applications, to CRM and CMS systems, BI tools like SQL Server Analysis Services, and even through popular management applications like MySQL Workbench.

  • Access Google Spanner data from virtually any application that can access external data. Applications that can access SQL Server or MySQL data can now connect to Google Spanner with this driver.
  • Connect Google Spanner data with popular BI tools like SQL Server Analysis Services.
  • Enable enterprise Google Spanner data integration through SQL Linked Server connectivity
  • Includes support for the MySQL and SQL (TDS) remote access protocols - industry standards for remote database connectivity.
  • Offers advanced wire-protocol SSL security for remote connectivity


Enterprise-class JDBC Connectivity

The Google Spanner JDBC Driver offers the most natural way to access Google Spanner data from any Java/J2EE application. Simply use the Spanner Driver to connect and access data just as you would access any traditional database. The driver is completely self-contained - no additional software installation is required!

Google Spanner Integration

The Spanner Driver has the same JDBC architecture as the JDBC drivers for MySQL and OLEDB, including Connection, Statement and ResultSet objects. Because of this you can now access Google Spanner data in an easy, familiar way. You can use the Spanner Driver through popular IDEs (Eclipse, IntelliJ, NetBeans, etc.), in code through familiar classes, and in data controls available through Swing, Eclipse SWT Widgets, etc.

For example:

Connection conn =
	DriverManager.getConnection("jdbc:googlespanner:user=myuseraccount;password=mypassword;");

boolean ret = stat.execute("SELECT * FROM NewSQLDB");
ResultSet rs=stat.getResultSet();
while(rs.next()){
  for(int i=1;i<=rs.getMetaData().getColumnCount();i++)
  {
    System.out.println(rs.getMetaData().getColumnName(i) +"="+rs.getString(i));
  }
}


More Than Read-Only: Full Update/CRUD Support

Spanner Driver goes beyond read-only functionality to deliver full support for Create, Read Update, and Delete operations (CRUD). Your end-users can interact with the data presented by the Spanner Driver as easily as interacting with a database table.

Connection conn =
	DriverManager.getConnection("jdbc:googlespanner:user=myuseraccount;password=mypassword;");

String query = "UPDATE NewSQLDB SET Where= ...";

PreparedStatement pstmt = conn.prepareStatement(query);
pstmt.setString(1, "Location");
pstmt.setString(2, "UID");
pstmt.execute();
int count=pstmt.getUpdateCount();