ADO.NET
Google Spanner Logo

Google Spanner ADO.NET Provider

SQL-based Access to Google Spanner through ADO.NET for your custom .NET applications and SSAS.

download buy now

Other Google Technologies

The Google Spanner ADO.NET Data Provider enables user to easily connect to Google Spanner data from .NET applications. Rapidly create and deploy powerful .NET applications that integrate with Google Cloud Spanner databases.

ADO architecture

Google Spanner .NET Connectivity Features

  • For interest in accessing a private beta of Spanner Analytics and Data Boost connectivity, please contact our support team at [email protected].
  • Fully compatible with Google Spanner RPC API V1
  • Connect to live Google Spanner data, for real-time data access with the Google Spanner Python Connectors
  • 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 via the Google Spanner Connector.

Target Service, API

The driver connects to Google Cloud Spanner. Globally distributed relational database service.

Schema, Data Model

Models Spanner databases with full relational schema. Supports Spanner-specific data types.

Key Objects

Tables, Indexes, Views, and Interleaved Tables. Full Spanner database access.

Operations

Full SQL support through Spanner SQL dialect. CRUD operations with ACID guarantees.

Authentication

Google Cloud authentication via service account or user credentials. OAuth 2.0 support.

Start a 30-day Free Trial Today

See what you can do with Google Spanner ADO.NET provider

SSAS Cube
SSAS Cube

Use Google Spanner from SQL Server Analysis Service (SSAS) multi-dimensional cubes. Keep your analytical data modeling and access to any source including cloud and on-premises.

Custom .NET Application
Custom .NET Application

The Google Spanner ADO.NET Provider allows developers to build applications that connect to Google Spanner using familiar SQL and Entity Framework. Integrate Google Spanner to your mission -critical applications or create easy side-by-side applications.

Reporting & BI
Low-Code Dev Platforms

You can connect from ADO.NET compliant low-code development tools:

Reporting & BI
Reporting Tools

You can connect Google Spanner from .NET-based reporting and analytics tools:

Standard ADO.NET Access to GoogleSpanner

The Google Spanner ADO.NET Provider offers the most natural way to access Google Spanner data from any .NET application. Simply use Spanner Data Provider objects to connect and access data just as you would access any traditional database. You will be able to use the Spanner Data Provider through Visual Studio Server Explorer, in code through familiar classes, and in data controls like DataGridView, GridView, DataSet, etc.

The CData ADO.NET Provider for Google Spanner hides the complexity of accessing data and provides additional powerful security features, smart caching, batching, socket management, and more.

Working with DataAdapters, DataSets, DataTables, etc.

The Spanner Data Provider has the same ADO.NET architecture as the native .NET data providers for SQL Server and OLEDB, including: GoogleSpannerConnection, GoogleSpannerCommand, GoogleSpannerDataAdapter, GoogleSpannerDataReader, GoogleSpannerDataSource, GoogleSpannerParameter, etc. Because of this you can now access Google Spanner data in an easy, familiar way.

For example:

using (GoogleSpannerConnection conn = new GoogleSpannerConnection("...")) {
	string select = "SELECT * FROM NewSQLDB";
	GoogleSpannerCommand cmd = new GoogleSpannerCommand(select, conn);
	GoogleSpannerDataAdapter adapter = new GoogleSpannerDataAdapter(cmd);
	using (adapter) {
		DataTable table = new DataTable();
		adapter.Fill(table);		
		...
	}
}

More Than Read-Only: Full Update/CRUD Support

Spanner Data Provider 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 Data Provider as easily as interacting with a database table.

using (GoogleSpannerConnection connection = new GoogleSpannerConnection(connectionString)) {
	GoogleSpannerDataAdapter dataAdapter = new GoogleSpannerDataAdapter(
	"SELECT Id, Where FROM NewSQLDB", connection);
  
	dataAdapter.UpdateCommand = new GoogleSpannerCommand(
		"UPDATE NewSQLDB SET Where = @Where " +
		"WHERE Id = @ID", connection);

	dataAdapter.UpdateCommand.Parameters.AddWithValue("@Where", "Where");
	dataAdapter.UpdateCommand.Parameters.AddWithValue("@Id", "80000173-1387137645");

	DataTable NewSQLDBTable = new DataTable();
	dataAdapter.Fill(NewSQLDBTable);

	DataRow firstrow = NewSQLDBTable.Rows[0];
	firstrow["Where"] = "New Location";

	dataAdapter.Update(NewSQLDBTable);
}

ADO.NET Provider 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 ADO.NET Provider 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 ADO.NET Provider performance capabilities are available in the included documentation.

Visual Studio Integration & Server Explorer

Working with the new Google Spanner ADO.NET Provider is easy. As a fully-managed .NET Data Provider, the Spanner Data Provider integrates seamlessly with the Visual Studio development environment as well as any .NET application.

As an ADO.NET Data Provider, Google Spanner ADO.NET Provider can be used to access and explore Google Spanner data directly from the Visual Studio Server Explorer.

It's easy. As a standard ADO.NET adapter, developers can connect the Server Explorer to Google Spanner ADO.NET Provider just like connecting to any standard database.

  • Add a new Data Connection from the Server Explorer and select the Google Spanner Data Source
  • Configure the basic connection properties to access your Google Spanner account data.

Explore all of the data available! Google Spanner ADO.NET Provider makes it easy to access live Google Spanner data from Visual Studio.

  • After configuring the connection, explore the feeds, views, and services provided by the Google Spanner Data Source.
  • These constructs return live Google Spanner data that developers can work with directly from within Visual Studio!

Developer Integration: Databind to Google Spanner

Connecting Web, Desktop, and Mobile .NET applications with Google Spanner is just like working with SQL Server. It is even possible to integrate Google Spanner ADO.NET Provider into applications without writing code.

Developers are free to access the Google Spanner ADO.NET Provider in whatever way they like best. Either visually through the Visual Studio Winforms or Webforms designers, or directly through code.

  • Developers can connect the Google Spanner Data Source directly to form components by configuring the object's smart tags.
  • Add a new Data Connection from the Server Explorer and select the Google Spanner Data Source. Then, select the feed, view, or services you would like to connect the object to.

Done! It's just like connecting to SQL Server.

  • Once the object is bound to the data source, applications can easily interact with Google Spanner data with full read/write (CRUD) support.

Download the Google Spanner ADO.NET driver today!