Skip to main content

Get a Per-Database Connection String

Get connection string by name and type

The following example retrieves a Raven connection string in the current database:

using (var store = new DocumentStore())
{
// Request a specific connection string, pass its name and type:
// =============================================================
var getRavenConStrOp = new GetConnectionStringsOperation(
"ravendb-connection-string-name", ConnectionStringType.Raven);

GetConnectionStringsResult connectionStrings = store.Maintenance.Send(getRavenConStrOp);

// Access results:
// ===============
Dictionary<string, RavenConnectionString> ravenConnectionStrings =
connectionStrings.RavenConnectionStrings;

var numberOfRavenConnectionStrings = ravenConnectionStrings.Count;
var ravenConStr = ravenConnectionStrings["ravendb-connection-string-name"];

var targetUrls = ravenConStr.TopologyDiscoveryUrls;
var targetDatabase = ravenConStr.Database;
}

Get all connection strings

The following example retrieves all connection strings defined in the database:

using (var store = new DocumentStore())
{
// Get all connection strings:
// ===========================
var getAllConStrOp = new GetConnectionStringsOperation();
GetConnectionStringsResult allConnectionStrings = store.Maintenance.Send(getAllConStrOp);

// Access results by connection string type:
// =========================================

// Raven
Dictionary<string, RavenConnectionString> ravenConnectionStrings =
allConnectionStrings.RavenConnectionStrings;

// SQL
Dictionary<string, SqlConnectionString> sqlConnectionStrings =
allConnectionStrings.SqlConnectionStrings;

// OLAP
Dictionary<string, OlapConnectionString> olapConnectionStrings =
allConnectionStrings.OlapConnectionStrings;

// Elasticsearch
Dictionary<string, ElasticSearchConnectionString> elasticsearchConnectionStrings =
allConnectionStrings.ElasticSearchConnectionStrings;

// Queue
Dictionary<string, QueueConnectionString> queueConnectionStrings =
allConnectionStrings.QueueConnectionStrings;

// Snowflake
Dictionary<string, SnowflakeConnectionString> snowflakeConnectionStrings =
allConnectionStrings.SnowflakeConnectionStrings;

// AI
Dictionary<string, AiConnectionString> aiConnectionStrings =
allConnectionStrings.AiConnectionStrings;
}

Syntax

public GetConnectionStringsOperation()
public GetConnectionStringsOperation(string connectionStringName, ConnectionStringType type)

ParameterTypeDescription
connectionStringNamestringConnection string name
typeConnectionStringTypeConnection string type:
Raven, Sql, Olap, ElasticSearch, Queue, Snowflake, or Ai
public enum ConnectionStringType
{
None,
Raven,
Sql,
Olap,
ElasticSearch,
Queue,
Snowflake,
Ai
}

Operation resultDescription
GetConnectionStringsResultClass holding all connection strings defined in the database.
public sealed class GetConnectionStringsResult
{
public Dictionary<string, RavenConnectionString> RavenConnectionStrings { get; set; }
public Dictionary<string, SqlConnectionString> SqlConnectionStrings { get; set; }
public Dictionary<string, OlapConnectionString> OlapConnectionStrings { get; set; }
public Dictionary<string,
ElasticSearchConnectionString> ElasticSearchConnectionStrings { get; set; }
public Dictionary<string, QueueConnectionString> QueueConnectionStrings { get; set; }
public Dictionary<string, SnowflakeConnectionString> SnowflakeConnectionStrings { get; set; }
public Dictionary<string, AiConnectionString> AiConnectionStrings { get; set; }
}

Connection string type-specific fields and complete examples are documented in the task or feature articles listed under Connection string per type.