Архитектура Microsoft Windows для разработчиков


Применение ODBCDirect


ODBCDirect — компонент DAO, реализующий прямой доступ к ODBC-совмести-мым источникам данных посредством DAO-доступа к объектам удаленных данных (Remote Data Objects, RDO). Мы обсудим RDO подробнее в следующем разделе. При открытии ODBC-совместимых источников данных через ODBCDirect модель объектов DAO отделяется от ядра Jet. Этот способ удобен, когда приложение одновременно обращается к хранилищам ISAM и ODBC. ODBCDirect позволяет создать рабочее пространство DAO, которое вызывает удаленные источники данных, не применяя ядро Jet. Как следует из названия, ODBCDirect осуществляет доступ к удаленным источникам данных посредством ODBC, не пользуясь средствами ядра Jet.

Пример В этом коде на Visual Basic создаются два объекта БД: один — для подключения к БД Microsoft Access средствами Jet, а другой — для подключения к БД SQL Server средствами ODBCDirect, минуя Jet:

Dim wrkJet As Workspace

Dim wrkODBC As Workspace

Dim db As Database

Dim cn As Connection

Dim rs1 As Recordset 'Используется Jet

Dim rs2 As Recordset 'Используется ODBCDirect

'Открыть "рабочие пространства" Microsoft Jet и ODBCDirect

Set wrkJet = CreateWorkspace(" ", "admin", " ", dbUseJet)

Set wrkODBC = CreateWorkspace(" ", "admin", " ", dbUseODBC)

'Подключиться с помощью метода OpenDatabase (Jet)

Set db = wrkJet. OpenDatabase("Northwind.mdb")

'Подключиться с помощью метода OpenConnection (ODBCDirect)



Set cn = wrkODBC.OpenConnection(" ", , , _

"ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers")

'Открыть набор записей с помощью Jet Set rs1 = db.OpenRecordset

("SELECT * FROM Employees", dbOpenDynaset, dbReadOnly)

'Открыть набор записей с помощью ODBCDirect

Set rs2 = cn.OpenRecordset

("SELECT * FROM stores", dbOpenDynamic)

'Добавьте здесь код для обработки записей

'После обработки записей закройте все соединения

rs1.Close

rs2.Close

db.Close

cn.Close

wrkJet.Close

wrkODBC.Close



Содержание раздела