Visual Basic

Connect to CrateDB from Visual Basic .NET applications.

About

Npgsql is an open-source ADO.NET Data Provider for PostgreSQL, for programs written in C#, F#, or Visual Basic.

Synopsis

example.vbproj

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net$(NETCoreAppMaximumVersion)</TargetFramework>
    <GenerateProgramFile>false</GenerateProgramFile>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Npgsql" Version="10.0.0-rc.1" />
  </ItemGroup>

</Project>

example.vb

Imports Npgsql
Imports System

Module Example

    Public Sub Main(args As String())
        Dim cs As String
        Dim cn As NpgsqlConnection
        Dim dr As NpgsqlDataReader

        'Connect to database.
        cs = "Host=localhost;Port=5432;Username=crate;Password=crate;Sslmode=disable"
        cn = New NpgsqlConnection(cs)
        cn.Open()

        'Invoke basic query.
        Dim sSQL = "SELECT mountain, height FROM sys.summits ORDER BY height DESC LIMIT 3"
        Dim cmd As New NpgsqlCommand(sSQL, cn)

        'Display results.
        dr = cmd.ExecuteReader()
        Do While dr.Read()
            Console.WriteLine(dr.GetString(0) & ": " & dr.GetInt32(1))
        Loop

        'Clean up.
        dr.Close()
        cn.Close()
    End Sub

End Module

Start CrateDB using Docker or Podman, then invoke the example program.

docker run --rm --publish=5432:5432 docker.io/crate '-Cdiscovery.type=single-node'
export DOTNET_CLI_TELEMETRY_OPTOUT=true
dotnet run

SSL connection

Use the Sslmode=require parameter, and replace username, password, and hostname with values matching your environment. Also use this variant to connect to CrateDB Cloud.

cs = "Host=testcluster.cratedb.net;Port=5432;Username=admin;Password=password;Sslmode=require"

See also