ConnectionString
Строка соединения ConnectionString определяет параметры, необходимые для установления соединения с источником данных. Строка соединений при использовании мастеров генерируется средой, но можно (и желательно — во избежание неточностей и ошибок) писать эту строчку вручную. Рассмотрим еще раз строки соединения, которые были созданы при подключении к базам данных xtreme и Northwind:
Листинг 4.10. База данных xtreme, проект ProgrammDataMDB (html, txt) string ConnectionString = "workstation id=7EA2B2F6068D473;packet size=4096;integrated security=SSPI;data sou" + "rce=\"(local)\";persist security info=False;initial catalog=NorthwindCS";
В этой строках через точку с запятой просто перечисляются параметры соединения. В таблице 4.2 приводятся основные значения этих параметров.
Параметр | Описание |
Provider (Поставщик) | Свойство применяется для установки или возврата имени поставщика для соединения, используется только для объектов OleDbConnection |
Connection Timeout или Connect Timeout (Время ожидания связи) | Длительность времени ожидания связи с сервером перед завершением попытки и генерацией исключения в секундах. По умолчанию 15 |
Initial Catalog (Исходный каталог) | Имя базы данных |
Data Source (Источник данных) | |
Имя используемого SQL-сервера, когда установлено соединение, или имя файла базы данных Microsoft Access | |
Password (Пароль) | Пользовательский пароль для учетной записи SQL Server. |
User ID (Пользовательский ID) | Пользовательское имя для учетной записи SQL Server |
Workstation ID | Имя рабочей станции или компьютера |
Integrated Security или Trusted Connection (Интегрированная безопасность или Доверительное соединение) | Параметр, который определяет, является ли соединение защищенным. True, False и SSPI — возможные значения. (SSPI – эквивалент True.) |
Persist Security Info (Удержание защитной информации) | Когда установлено False, нуждающаяся в защите информация, такая как пароль, не возвращается как часть соединения, если связь установлена или когда-либо была установленной. Выставление этого свойства в True может быть рискованным в плане безопасности. По умолчанию False |
При создании строки ConnectionString Мастером происходит генерирование довольно многих лишних параметров. Нельзя сказать, что они не нужны, — просто Мастер предусматривает все возможности использования этого подключения и вставляет соответствующие значения. В действительности необходимых значений для простого извлечения данных всего несколько:
- Provider (только OLE DB)
- Data Source
- Initial Catalog
- User ID/Password
- Persist Security Info
Скопируйте папки с проектами ProgrammDataMDB и ProgrammDataSQL. Переименуйте копии в ConnStringMDB и ConnStringSQL. Измените значения ConnectionString следующим образом:
Листинг 4.11. База данных xtreme, проект ConnStringMDB (html, txt) string ConnectionString = "workstation id=7EA2B2F6068D473;integrated security=SSPI; data source=\"(local)\";persist security info=False;initial catalog=NorthwindCS";
Мы значительно сократили количество параметров, получив прежнюю функциональность приложений.
Где определяется строка подключения, когда мы создаем объект DataAdapter не программно, а с помощью Мастера? Среда генерирует строку подключения вместе с кодом для DataAdapter, и в этом нетрудно убедиться. Запустите приложение, которое мы делали, вообще ничего не зная об объектах ADO.NET, — DataWizardMDB. Перейдите в код формы, откройте область Windows Form Designer generated code и найдите строку подключения:
Листинг 4.12.
(html, txt)
Когда мы переносим объект DataAdapter из панели инструментов Toolbox (со вкладки Data) на форму, вместе с ним образуется объект DBConnection, в свойствах которого указывается строка ConnectionString и другие параметры подключения (рис. 4.48)
увеличить изображение
Рис. 4.48. Свойства объекта sqlConnection1 проекта VisualDataSQL