Применение 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