Свързване към база данни
Първото нещо, което да направите, когато се работи с доставчика на данни - е да се установи връзка с източник на данни с помощта на обект връзка (генериран както си спомняте от DbConnection). В .NET връзка обект е форматиран връзка низ, който съдържа серия от име / стойност двойки, разделени със запетая. Тази информация съдържа името на машината, към която искате да се свържете, необходими параметри за сигурност, името на базата данни на тази машина и друга информация, в зависимост от доставчика.
Следният код показва как да създавате, отваряте и затваряте на връзка с данни SQLServer:
В допълнение, можете да зададете произволен брой елементи, които определят идентификационни данни за сигурност. В нашия пример, името е настроен на Интегриран SSPI сигурност (което се равнява на истински), който се използва за идентификация на потребителите пълномощията текущата сметка на потребителя Windows.
Целта на всеки име / стойност двойки за вашата база данни може да се намери в документацията за 4.0 SDK NET Framework, в описанието на ConnectionString собственост на обекта на връзка за вашия доставчик на данни.
Ако има линия, свързваща повикване Open () установява връзка към СУБД. В допълнение към членовете на ConnectionString, Open () и Close () на обекта връзка съдържа редица членове, които можете да персонализирате допълнителни настройки за свързване, като например време за изчакване и информацията, свързана със сделката.
Това са някои от членовете на DbConnection базовия клас:
Тя се използва за стартиране на транзакция база данни
Променя базата данни за отворена връзка
Само четене на собственост. Връща времето за изчакване при инсталиране на връзката, след което очакването е прекратен и съобщение за грешка (по подразбиране 15 секунди). За промяна на времето, необходимо за промяна на отсечката, свързваща Свързване Timeout време (например, Свързване Timeout = 30)
Само четене на собственост. Той съдържа името на базата данни, която е свързана с предмета на връзка
Само четене на собственост. Той съдържа местоположението на базата данни, която е свързана с предмета на връзка
Този метод връща DataTable обект, съдържащ информация от схемата на източник на данни
Само четене на собственост. Той съдържа текущото състояние на връзката под формата на един от стойностите на изброяване ConnectionState
Въведете имоти DbConnection предназначени предимно за само за четене и следователно е необходимо, когато искате данните за свързването по време на изпълнение. Ако е необходимо да промените настройките по подразбиране, ще се наложи да промените себе си низ връзка. Например, можете да промените времето за излизане от 15 до 30 секунди:
Работата по политика на свързващите линии може да бъде малко по-трудно, тъй като те често са представени под формата на низовете, които трудно могат да се справят и да следи за грешки. дистрибутори данни ADO.NET предназначени Microsoft, подкрепа обекти линии строители връзка (връзка низ строител на обекта) (аналогов StringBuilder), които позволяват да се установи име / стойност двойки с помощта на силно въвели свойства. Помислете за следното изменение на нашия метод Main ():
В това примерно изпълнение създава SqlConnectionStringBuilder Например, определени неговите свойства и избрани свойства на вътрешната низ ConnectionString. Тук се използва стандартен тип конструктор. В този случай също така е възможно да се създаде инстанция на обект строител за връзка линията на доставчик на данни, минавайки като отправна точка съществуваща връзка линия (може да е удобно за динамични стойности при четене от App.config файл).
Ефективното използване на съединенията
По принцип, когато се използва .NET оскъдни ресурси като свързвания към база данни, прозорци или графика, добра форма е за затваряне на ресурса след работа с него. Въпреки .NET дизайнерите са приложили автоматичното събиране на боклука, който рано или късно, ще трябва да освободи ресурси възможно най-скоро, за да се избегне недостигът на ресурси.
Това важи и за писане на код, който има достъп до базата данни, тъй като запазването на връзки се отварят по-дълго от необходимото може да повлияе на други сесии.
В екстремни случаи открил връзка може напълно да блокира други потребители до един куп таблици, причинявайки огромни щети на изпълнение на приложението. Затварянето на свързването към базата данни трябва да бъде задължително, така че в този раздел, ние ще демонстрира структурата на кода, което намалява риска от напускане на ресурси отворен.
осигуряване на чиста вариант ресурси се състои в прилагане пробвам блокове. хване. най-накрая, и то осигурява затварянето на всички отворени връзки вътре накрая блокира. Помислете за един кратък пример: