Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений баз данных (Visual Studio 2008).docx
Скачиваний:
143
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

Соединение с источником данных ole db

Поставщик данных .NET Framework для OLE DB обеспечивает обмен данными с источниками данных, доступ к которым предоставляется в рамках технологии OLE DB, и с базами данных Microsoft SQL Server 6.xили предыдущих версий (используя SQLOLEDB, поставщик OLE DB для SQL Server) с помощью объектаOleDbConnection.

Пространство имен:  System.Data.OleDb Сборка:  System.Data (в System.Data.dll)

Синтаксис:

[SettingsBindableAttribute(true)]

public override string ConnectionString { get; set; }

Свойство OleDbConnection.ConnectionString-получает или задает строку, используемую для открытия базы данных.

Значение свойства: Тип:System.String. Значением по умолчанию является пустая строка.

Формат строки соединения поставщика данных .NET Framework для OLE DB идентичен формату строки соединения, используемому в ADO, за исключением следующего.

  • Ключевое слово Providerявляется обязательным.

  • Ключевые слова URL,Remote ProviderиRemote Serverне поддерживаются.

Параметр ConnectionString разработан так, чтобы как можно точнее соответствовать формату строки подключения OLE DB, за исключением следующих особенностей:

  • Выражение "Provider = value" является обязательным. Тем не менее, не допускается использование выражения "Provider = MSDASQL", поскольку поставщик данных .NET Framework для OLE DB не поддерживает поставщик OLE DB для ODBC (MSDASQL). Для доступа к источникам данных ODBC используйте объект OdbcConnection, представляющий собой пространство имен System.Data.Odbc.

  • В отличие от ODBC и ADO возвращаемая строка подключения совпадает с заданной пользователем строкой ConnectionString за вычетом сведений о безопасности, если значение Persist Security Info равно false (значение по умолчанию). Поставщик данных .NET Framework для OLE DB не сохраняет и не возвращает пароль в строке подключения за исключением случая, когда ключевое слово Persist Security Info установлено в значение true (не рекомендуется). Для поддержания высокого уровня безопасности настоятельно рекомендуется использовать ключевое слово Integrated Security с ключевым словом Persist Security Info, установленным в значение false.

Для подключения к различным источникам данных можно использовать свойство ConnectionString. В следующем примере приведено несколько возможных строк подключения.

"Provider=MSDAORA; Data Source=ORACLE8i7;Persist Security Info=False;Integrated Security=Yes"

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\bin\LocalAccess40.mdb"

"Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI"

Если ключевое слово Data Source не задано в строке подключения, поставщик пытается подключиться к локальному серверу при его наличии.

Дополнительные сведения о строках подключений см. в разделе Использование ключевых слов строки подключения с собственным клиентом SQL Server.

Предварительная проверка строки подключения выполняется при установке свойства. Если значения ключевых слов Provider, Connect Timeout, Persist Security Info или OLE DB Services включены в строку, эти значения проверяются. Когда приложение вызывает метод Open, строка подключения проверяется полностью. Если строка подключения содержит недопустимые или неподдерживаемые свойства, в это время генерируется исключение среды выполнения, например ArgumentException.

Внимание. Сведения о подключении для объекта OleDbConnection можно предоставить в UDL-файле (Universal Data Link), однако рекомендуется не делать этого. UDL-файлы не шифруются и представляют сведения о строке подключения в виде обычного текста. Так как UDL-файл является для приложения ресурсом на основе внешнего файла, он не может быть защищен с помощью платформы .NET Framework.

Базовый формат строки подключения для объекта OleDbConnection такой же, как и для рассмотренного выше SqlConnection.

Внимание. Необходимо соблюдать осторожность при построении строки подключения на основе введенных пользователем данных, например, при извлечении сведений об идентификаторе пользователя и пароле из диалогового окна и при их добавлении в строку подключения. Приложение должно гарантировать, что пользователь не сможет внедрить в эти значения дополнительные параметры строки подключения, например, ввести пароль в виде "validpassword;database= somedb", пытаясь подключиться к другой базе данных. При использовании параметра строки подключения "Extended Properties" для подключений OLE DB следует избегать передачи идентификаторов пользователей и их паролей, поскольку следует всеми средствами исключать хранение идентификаторов и паролей пользователей в незашифрованном виде, а также поскольку значение по умолчанию Persist Security Info= false не влияет на параметр Extended Properties.