Рассмотрим возможность соединения с базой данных из языков сценариев.
ASP-сценарий, работающий с базой данных, в первую очередь должен подключиться к ней. После этого можно выполнять инструкции SQL и создавать наборы записей. Существует специальный объект Connection, управляющий подключением к базе данных.
Объект Connection позволяет устанавливать сеансы связи с источниками данных; он обеспечивает функционирование механизма для инициализации и установления соединения, выполнения запросов и использования транзакций.
Создание соединения с базой данных включает следующие шаги:
сначала вызывается метод CreateObject() объекта Server, создающий объектную переменную cn типа Connection. Объект Connection определен в библиотеке ADODB:
Dim cn
Set cn=Server.CreateObject("ADODB.Connection")
далее можно использовать метод Open объекта Connection для установки соединения c провайдером ODBC. Провайдер определяется посредством установки свойства Provider. Если оно не определено, то по умолчанию будет использован провайдер MSDASQL - это сокращенное название драйвера OLE DB Microsoft для SQL Server:
cn.provider "MSDASQL"
затем вызывается метод Open() объекта Connection, открывающий соединение с заданным источником данных.
Сослаться на базу данных SQL Server из ASP-сценария возможно двумя способами:
путем создания источника данных (DSN);
с помощью строки соединения (без применения DSN).
В первом случае созданный заранее источник данных с именем mystud используется для соединения с базой данных следующим образом:
cn.open "mystud","user1","123"
Здесь для метода Open указывается DSN базы данных, имя пользователя и пароль.
Во втором случае строки соединения содержат всю информацию, необходимую ADO для того, чтобы создать соединение с внешним источником данных. Пример такой строки:
"uid=user1;driver={SQL Server};server=its;
database=basa_user1"
Строка создает соединение с базой данных basa_user1 на MS SQL Server с именем its, используя драйвер для SQL Server и имя пользователя user1. Если нужен пароль, то необходимо добавить подстроку pwd=<пароль>:
"uid=user1;pwd=123;driver{SQL Server};
server=its;
database=basa_user1"
Такая строка подойдет для соединения с базой данных в тексте сценария вместо источника данных:
cn.open "uid=user1;driver={SQL Server};
server=its;
database=basa_user1"
или
cn.open "uid=user1; pwd=123;
driver={SQL Server};
server=its;database=basa_user1"
Опустив некоторые подробности работы с API-интерфейсом, приведем небольшой фрагмент сценария на языке VBScript для серверной стороны, выполняющий выборку и изменение информации в базе данных учебного примера.
Dim cn
Dim rst
Set cn=Server.CreateObject("ADODB.Connection")
Set rst=Server.CreateObject("ADODB.Recordset")
cn.open "uid=user1;pwd=123;
driver={SQL Server};
server=its;database=basa_user1"
rst.open "SELECT название, тип, цена
FROM товар", cn
do until rst.eof
response.write rst.fields(0)
response.write rst.fields(1)
response.write rst.fields(2) & "
"
rst.movenext
loop
Do'stlaringiz bilan baham: |