При работе с поставщиком данных первым делом понадобится установить сеанс с источником данных, используя объект подключения (производного от DbConnection
Из приведенного выше кода можно сделать вывод, что имя Initial Catalog
Data Source идентифицирует имя машины, где находится база данных. Здесь применяется строка "., 5433", которая ссылается на хост-машину (точка соответствует localhost), и порт 5433, который представляет собой порт контейнера Docker, отображенный на порт SQL Server. Если бы вы использовали другой экземпляр, то определили бы свойство как имя_машины,порт\экземпляр. Например, MYSERVER\SQLSERVER2019 означает, что MYSERVER — имя сервера, на котором функционирует SQL Server, что применяется стандартный порт и что SQLSERVER2019 представляет собой имя экземпляра. Если машина является локальной по отношению к разработке, тогда можете использовать для имени сервера точку (.) или маркер (localhost). В случае стандартного экземпляра SQL Server имя экземпляра не указывается. Скажем, если вы создаете базу данных AutoLot в установленной копии Microsoft SQL Server, настроенной как стандартный экземпляр на вашем локальном компьютере, то могли бы применять "Data Source=localhost".Кроме того, можно указать любое количество конструкций, которые представляют учетные данные безопасности. Если Integrated Security
true, то для аутентификации и авторизации используется текущая учетная запись Windows.Когда строка подключения готова, можно вызывать метод Open
Connectionstring, Open и Close объект подключения предоставляет несколько членов, которые позволяют конфигурировать дополнительные настройки подключения, такие как таймаут и транзакционная информация. В табл. 21.4 кратко описаны избранные члены базового класса DbConnection.Свойства типа DbConnection
Connect Timeout устанавливается равным 30 секундам вместо стандартных 15 секунд (для SQL Server):using(SqlConnection connection = new SqlConnection)
{
connection.ConnectionString =
@" Data Source=.,5433;User Id=sa;Password=P@ssw0rd;
Initial Catalog=AutoLot;Connect
Timeout=30"; connection.Open;
}
Следующий код выводит детали о переданной ему строке подключения SqlConnection
static void ShowConnectionStatus(SqlConnection connection)
{
// Вывести различные сведения о текущем объекте подключения.
Console.WriteLine("***** Info about your connection *****");
Console.WriteLine($@"Database location:
{connection.DataSource}"); // Местоположение базы данных
Console.WriteLine($"Database name: {connection.Database}");
// Имя базы данных
Console.WriteLine($@"Timeout:
{connection.ConnectionTimeout}"); // Таймаут
Console.WriteLine($"Connection state:
{connection.State}\n"); // Состояние подключения
}
Большинство этих свойств понятно без объяснений, но свойство State
ConnectionState:public enum ConnectionState
{
Broken,
Closed,
Connecting,
Executing,
Fetching,
Open
}
Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT