Google BigQuery ADO.NET Provider
SQL-based Access to BigQuery through ADO.NET for your custom .NET applications and SSAS.
The BigQuery ADO.NET Data Provider enables user to easily connect to BigQuery data from .NET applications. Rapidly create and deploy powerful .NET applications that integrate with Google BigQuery data including Tables and Datasets.
BigQuery .NET Connectivity Features
- Supports BigQuery Standard and Legacy SQL dialects
- Industry-leading performance for reading and writing large datasets.
- Connect to live Google BigQuery data, for real-time data access with the Google BigQuery JDBC Driver
- 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 BigQuery Connector.
Target Service, API
The driver supports Google BigQuery's version 2.0 Web services API and uses BigQuery's standard and legacy SQL dialects. The driver provides access to BigQuery datasets with high-performance storage integration and reservations management features.
Schema, Data Model
The driver models BigQuery data as relational tables with dynamic metadata discovery. It supports automatic schema detection including ARRAY and STRUCT data types (rendered as JSON). The driver can automatically create destination tables when needed for large result sets and supports both nested and unnested data modes.
Key Objects
BigQuery Datasets, Tables, Views, and custom queries. The driver exposes both static and dynamic data and metadata, providing universal access to all BigQuery objects including system tables for additional metadata access.
Operations
Full CRUD operations with comprehensive ANSI SQL-92 support including SELECT, INSERT, UPDATE, DELETE. Supports complex JOINs, aggregations, and filtering with query pushdown optimization. Offers bulk operations through various insert modes (Streaming API, Upload, GCSStaging) and supports bulk UPDATE/DELETE via MERGE operations. Stored procedures available for managing schemas and change tracking.
Authentication
Supports multiple authentication methods including OAuth 2.0 (with embedded credentials), OAuth Client credentials, Service Account authentication with JWT, Azure AD, Azure Service Principal, and Azure Managed Service Identity. Also supports headless OAuth flow for server environments.
See what you can do with BigQuery ADO.NET provider
Use BigQuery from SQL Server Analysis Service (SSAS) multi-dimensional cubes. Keep your analytical data modeling and access to any source including cloud and on-premises.
The BigQuery ADO.NET Provider allows developers to build applications that connect to BigQuery using familiar SQL and Entity Framework. Integrate BigQuery to your mission -critical applications or create easy side-by-side applications.
You can connect from ADO.NET compliant low-code development tools:
You can connect BigQuery from .NET-based reporting and analytics tools:
Standard ADO.NET Access to BigQuery
The Google BigQuery ADO.NET Provider offers the most natural way to access BigQuery data from any .NET application. Simply use Google BigQuery Data Provider objects to connect and access data just as you would access any traditional database. You will be able to use the Google BigQuery 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 BigQuery 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 Google BigQuery Data Provider has the same ADO.NET architecture as the native .NET data providers for SQL Server and OLEDB, including: BigQueryConnection, BigQueryCommand, BigQueryDataAdapter, BigQueryDataReader, BigQueryDataSource, BigQueryParameter, etc. Because of this you can now access BigQuery data in an easy, familiar way.
For example:
using (BigQueryConnection conn = new BigQueryConnection("...")) {
string select = "SELECT * FROM Dataset";
BigQueryCommand cmd = new BigQueryCommand(select, conn);
BigQueryDataAdapter adapter = new BigQueryDataAdapter(cmd);
using (adapter) {
DataTable table = new DataTable();
adapter.Fill(table);
...
}
}
More Than Read-Only: Full Update/CRUD Support
Google BigQuery 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 Google BigQuery Data Provider as easily as interacting with a database table.
using (BigQueryConnection connection = new BigQueryConnection(connectionString)) {
BigQueryDataAdapter dataAdapter = new BigQueryDataAdapter(
"SELECT Id, Where FROM Dataset", connection);
dataAdapter.UpdateCommand = new BigQueryCommand(
"UPDATE Dataset SET Where = @Where " +
"WHERE Id = @ID", connection);
dataAdapter.UpdateCommand.Parameters.AddWithValue("@Where", "Where");
dataAdapter.UpdateCommand.Parameters.AddWithValue("@Id", "80000173-1387137645");
DataTable DatasetTable = new DataTable();
dataAdapter.Fill(DatasetTable);
DataRow firstrow = DatasetTable.Rows[0];
firstrow["Where"] = "New Location";
dataAdapter.Update(DatasetTable);
}
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:
- Network Connections - Slow network connections and latency issues are common in mobile applications.
- Service Delays - Delays due to service interruptions, resulting in server hardware or software updates.
- Large Data - Intentional or unintentional requests for large amounts of data.
- Disconnects - Complete loss of network connectivity.
The CData ADO.NET Provider for Google BigQuery 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 BigQuery ADO.NET Provider is easy. As a fully-managed .NET Data Provider, the Google BigQuery Data Provider integrates seamlessly with the Visual Studio development environment as well as any .NET application.
As an ADO.NET Data Provider, Google BigQuery ADO.NET Provider can be used to access and explore Google BigQuery 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 BigQuery ADO.NET Provider just like connecting to any standard database.
- Add a new Data Connection from the Server Explorer and select the Google BigQuery Data Source
- Configure the basic connection properties to access your Google BigQuery account data.
Explore all of the data available! Google BigQuery ADO.NET Provider makes it easy to access live Google BigQuery data from Visual Studio.
Developer Integration: Databind to BigQuery
Connecting Web, Desktop, and Mobile .NET applications with Google BigQuery is just like working with SQL Server. It is even possible to integrate Google BigQuery ADO.NET Provider into applications without writing code.
Developers are free to access the Google BigQuery 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 BigQuery 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 BigQuery 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.
Popular ADO Videos:
