Запросы / ADO

Источник: msdatabase

Строки подключения 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.
     


  • Страница сайта http://test.interface.ru
    Оригинал находится по адресу http://test.interface.ru/home.asp?artId=8254