Menggunakan driver ADO.NET Spanner

ADO.NET adalah antarmuka generik untuk akses ke sumber data untuk .NET. Untuk menggunakan ADO.NET dengan aplikasi Anda, gunakan driver ADO.NET Spanner.

Driver SpannerADO.NET mendukung database dialek GoogleSQL dan database dialek PostgreSQL.

Menginstal driver ADO.NET Spanner

Untuk menggunakan driver Spanner ADO.NET di aplikasi Anda, tambahkan paket berikut ke project .NET Anda:

  Google.Cloud.Spanner.DataProvider

Menggunakan driver ADO.NET Spanner

Untuk membuat koneksi ADO.NET ke database Spanner, buat SpannerConnectionStringBuilder dengan nama database yang sepenuhnya memenuhi syarat sebagai string koneksi:

GoogleSQL

/// <summary>
/// Create an ADO.NET connection to a Spanner database.
/// </summary>
/// <param name="connectionString">
/// A connection string in the format
/// 'Data Source=projects/my-project/instances/my-instance/databases/my-database'.
/// </param>
public static async Task CreateConnection(string connectionString)
{
    // Use a SpannerConnectionStringBuilder to construct a connection string.
    // The SpannerConnectionStringBuilder contains properties for the most
    // used connection string variables.
    var builder = new SpannerConnectionStringBuilder(connectionString)
    {
        // Sets the default isolation level that should be used for all
        // read/write transactions on this connection.
        DefaultIsolationLevel = IsolationLevel.RepeatableRead,

        // The Options property can be used to set any connection property
        // as a key-value pair.
        Options = "statement_cache_size=2000"
    };

    await using var connection = new SpannerConnection(builder.ConnectionString);
    await connection.OpenAsync();

    await using var command = connection.CreateCommand();
    command.CommandText = "SELECT 'Hello World' as Message";
    await using var reader = await command.ExecuteReaderAsync();
    while (await reader.ReadAsync())
    {
        Console.WriteLine($"Greeting from Spanner: {reader.GetString(0)}");
    }
}

PostgreSQL

/// <summary>
/// Create an ADO.NET connection to a Spanner PostgreSQL database.
/// </summary>
/// <param name="connectionString">
/// A connection string in the format
/// 'Data Source=projects/my-project/instances/my-instance/databases/my-database'.
/// </param>
public static async Task CreateConnection(string connectionString)
{
    // Use a SpannerConnectionStringBuilder to construct a connection string.
    // The SpannerConnectionStringBuilder contains properties for the most
    // used connection string variables.
    var builder = new SpannerConnectionStringBuilder(connectionString)
    {
        // Sets the default isolation level that should be used for all
        // read/write transactions on this connection.
        DefaultIsolationLevel = IsolationLevel.RepeatableRead,

        // The Options property can be used to set any connection property
        // as a key-value pair.
        Options = "statement_cache_size=2000"
    };

    await using var connection = new SpannerConnection(builder.ConnectionString);
    await connection.OpenAsync();

    await using var command = connection.CreateCommand();
    command.CommandText = "SELECT 'Hello World' as Message";
    await using var reader = await command.ExecuteReaderAsync();
    while (await reader.ReadAsync())
    {
        Console.WriteLine($"Greeting from Spanner: {reader.GetString(0)}");
    }
}

Untuk mengetahui informasi selengkapnya, lihat repositori GitHub driver ADO.NET Spanner.

Fitur yang didukung

Direktori kode contoh driver ADO.NET Spanner berisi contoh siap pakai untuk fitur Spanner yang umum digunakan.

Tips performa

Untuk mendapatkan performa terbaik saat menggunakan driver ADO.NET Spanner, ikuti praktik terbaik berikut:

Langkah berikutnya