Строки подключения ADO к базам данных
Декларирование адо - подключения
Dim MYCon As New ADODB.Connection
Если у вас эта строка вызывает ошибку при компиляции - добавьте в Ссылки - референсы на библиотеку : MS ADO 2.X (Microsoft Activex Data Objects 2.8 Library)
Рекомендуется устанавливать самые свежие версии библиотек.
Если нужно создать новое подключение к базе данных к которой уже подключен ADP - проект:
MYCon.Open CurrentProject.Connection.ConnectionString
Если подключение осуществляется к другой базе данных но на этом же сервере и под теми же именем и паролем - можно обойтись без создания нового подключения. Для этого следует использовать префиксы
обычный синтаксис запроса:
Select * from TABLE
С указанием владельца / схемы:
Select * from Dbo.TABLE
С указанием другой базы на сервере:
Select * from AnotgherBaseName.Dbo.TABLE
С указанием другого сервера
Select * from AnotgherServerName.AnotgherBaseName.Dbo.TABLE
Прим.: по результатам наблюдений запросы с указанием базы данных или сервера запускаются с более низким приоритетом (дольше выполняются но затрачивают меньше ресурсов в единицу времени)
Если нужно подключиться под другим именем или с использованием специфического драйвера: MYCon.Open Строка_Подключения_Из_Нижеизложенных_примеров
Примеры строк подключения:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<MY_filename.mdb>" ' MS Access 2000 c указанием локального пути
"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=<MY_filename.mdb>" ' MS Access
"Provider=SQLOLEDB;Data Source=<SERVER_NAME>;database=<DB_NAME>;uid=<UID>;pwd=<PWD>;" ' MS SQL Server (OLEDB connection)
"driver={SQL Server};server=<SERVER_NAME>;uid=<UID>;pwd=<PWD>;database=<DATABASE_NAME>" ' MS SQL erver 6.x/7.x/2000 (ODBC connection)
"driver=MySQL;server=<SERVER_IP>;uid=<UID>;pwd=<PWD>;database=<DB_NAME>" 'MySQL "<DSN_NAME>" ' DSN -подключение
(заходите в панель управления, источники данных, создаете файловый DSN , настраиваете, сохраняете )
Подключение, с использованием двух драйверов DATASHAPE + OLEDB
ADOConnection.ConnectionString = "Provider=MSDataShape;Data Provider=SQLOLEDB.1;Data Source= <SERVER_NAME>;User ID=<USER_NAME>;Password=<PASSWORD>;Initial Catalog=<BASE_NAME>"
ADOConnection.Open
Строка для доверенного соединения (Работает если сервер использует смешанную схему авторизации,
доступ осуществляется по имени пользователя и паролю под которым пользователь зарегистрирован в домене)
"PROVIDER=SQLOLEDB.1;INITIAL CATALOG=<BASE_NAME> ;DATA SOURCE=<SERVER_NAME>;Trusted_Connection=Yes" ' MS SQL Server
строка для ASP - скрипта:
(еще раз напоминаю что ASP - Active Server Pages - скрипт для получения содержимого интернет - страницы )
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("</FolderName/MY_filename.mdb> ") ' MS Access 2000 c относительным путем
Более подробно о провайдерах данных и строках подключения можно почитать здесь (English)
ASP - пример открытия ОБНОВЛЯЕМОГО рекордсета:
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\<BRINKSTER_USER>\db\<DATABASE_NAME.mdb>"))
sSQL = "<select * from my_table>"
Set oRS = Server.CreateObject("ADODB.Recordset") 'Открытие обновляемого рекордсета (цифровые параметры означают: Динамический , с Оптимистической блокировкой)
oRS.Open
sSQL , oConn ,3,2,1
<ТЕКСТ В ТАКИХ СКОБКАХ> следует заменить на соответствующие параметры подключения
Создание строки коннекта с помощью udl
Способ предельно прост.
создаете пустой текстовый файл
меняете ему расширение на udl
открываете полученный файл сопоставленным по умолчанию приложением
указываете желаемые параметры соединения и выходите из программы по "OK"
открываете полученный файл с помощью блокнота
получаете нечто подобное:
[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=…
в данном случае последняя строка и есть готовая строка подключения.
SqlConnection Connection String Parameter Keywords & Values
Параметр |
Default |
Описание |
Application Name |
|
Название приложения, или '.Net SqlClient Data Provider' если имя приложения не поддерживается. |
AttachDBFilename -или- extended properties -или- Initial File Name |
|
Имя первичного файла базы данных, включая полный путь, присоединяемой при установке подключения бд. если эта настройка указана, параметр Initial Catalog должен быть также указан. Имя базы данных должно быть указано в параметре 'database'. Пример: Data Source=.; Initial Catalog=; Integrated Security=true;AttachDBFileName=c:\MyFolder\MyDb.mdf Пример 1: Вы можете использовать следующий синтаксис для файлов баз данных размещенных в папке "Data" вашего сервера: AttachDBFileName=/DataDirectory/MyDb.mdf |
Connect Timeout -или- Connection Timeout |
15 |
Продолжительность времени в секундах, в течение которого ожидается ответ сервера, после истечения этого времени команда прерывается и генерится сообщение об ошибке. |
Current Language |
|
значение одной из языковых констант SQL Server . |
Data Source -или- Server -или- Address -или- Addr -или- Network Address |
|
Имя или сетевой адрес именованного экземпляра сервера к которому осуществляется подключение.
Примеры: 127.0.0.1:1433 netbiosComputername/instancename
|
Encrypt |
'false' |
Если "true", SQL Server использует SSL шифрование для всех данных передаваемых между клиентом и сервером (если на сервере установлен сертификат ). Распознаваемые значения true, false, yes, и no. |
Initial Catalog -или- Database |
|
Имя базы данных на сервере. |
Integrated Security -или- Trusted_Connection |
'false' |
Если false, Имя пользователя и пароль должны быть также указаны . Если true, текущее Windows - имя мользователя используется для аутентификации.
Распознаваемые значения: true, false, yes, no, и sspi (рекомендуемое), эквивалентно true. |
Network Library -or- Net |
'dbmssocn' |
Сетевая библиотека используемая для установки соединения к экземпляру SQL Server. Поддерживаемые значения : dbnmpntw (Named Pipes), dbmsrpcn (Multiprotocol), dbmsadsn (Apple Talk), dbmsgnet (VIA), dbmslpcn (Shared Memory), dbmsspxn (IPX/SPX), dbmssocn (TCP/IP).
Соответствующая библиотека должна быть установлена на клиенте и сервере к которому вы подключаетесь. Если вы не используете сеть, а подключаетесь к серверу установленному локально (например, "." или "(local)" в настройке server), будет использована библиотека Shared Memory . |
Packet Size |
8192 |
Размер сетевого пакета в байтах, используемого для связи с SQL Server. |
Password -или- Pwd |
|
Пароль, соответствующий имени пользователя SQL Server (не рекомендуется к использованию, использование Integrated Security или Trusted_Connection обеспечивает больший уровень безопасности). |
Persist Security Info |
'false' |
Если установлено false или no (настоятельно рекомендуется), секретные данные, такие как пароль, не сохраняются как часть соединения если соединение открыто. Сброс строки соединения сбрасывает значения всех параметров включая пароль. Распознаваемые значения: true, false, yes, and no. |
User ID |
|
имя пользователя, под которым осуществляется соединение к SQL Server (не рекомендуется к использованию, использование Integrated Security или Trusted_Connection обеспечивает больший уровень безопасности). |
Workstation ID |
имякомпьютера |
Имя рабочей станции (компьютера) которая подключается к SQL Server. |
Connection Lifetime |
0 |
Если используется пул коннектов, время его создания сравнивается с текущим временем, и коннект уничтожается если это время (в секундах) превышает Connection Lifetime. Это применяется для улучшения баланса загрузки между рабочим и резервным серверами в кластерной конфигурации (предполагаю ошибочность в документации, возможно имелось ввиду что применимо для многопроцессорных систем MSSql2000 для UMS balancing) This is useful in clustered configurations to force load balancing between a running server and a server just brought online.
Нулевое значение (0) указывает пулу иметь максимальное значение таймаута. |
Connection Reset |
'true' |
Определяет что соединение с бд разрывается при извлечении коннекта из пула. Для версии Сервера 7.0, устанавлива значение в false позволяет избежать процедуры получения соединения, но следует учесть, что состояние соединения, как например, контекст базы данных, не будут восстанавлены
Determines whether the database connection is reset when being drawn from the pool. For Microsoft SQL Server version 7.0, setting to false avoids making an additional server round trip when obtaining a connection, but you must be aware that the connection state, such as database context, is not being reset. |
Enlist |
'true' |
Если true, пул автоматически включает коннект в контекст текущей транзакции. Распознаваемые значения: true, false, yes, no. |
Max Pool Size |
100 |
Максимальное число коннектов допустимое в пуле. |
Min Pool Size |
0 |
Минимальное число коннектов допустимое в пуле. |
Pooling |
'true' |
Если true, объект SQLConnection присоединяется к существующему пулу, или если необходимо создает пул и присоединяется к нему. Распознаваемые значения: true, false, yes, no. |