The SAS IOM Data Provider
is an OLE DB data provider that supports access to SAS data sets that
are managed by SAS Integrated Object Model (IOM) servers. Although
an object server is a scriptable interface to SAS, manipulating data
in that server context is best accomplished with the IOM Data Provider.
OLE DB is a set of interfaces
that evolved from the Microsoft Open Database Connectivity (ODBC)
data access interface. OLE DB interfaces provide a standard by which
applications can uniformly access data that is located over an enterprise's
entire network and stored in a variety of formats (such as SAS data
sets, database files, and nonrelational data stores). OLE DB interfaces
can provide much of the same functionality that is provided by database
management systems. In addition, OLE DB for Online Analytical Processing
(OLAP) extends the OLE DB interfaces to provide support for multidimensional
data stores.
Through
the OLE DB interfaces, the IOM Data Provider adds the following functionality
to consumer programs:
-
simultaneous user updates
-
-
a choice of either exclusive access
(member-level lock) or multiple user access (record-level lock) to
SAS data files, selectable on a per-rowset open basis
-
access to SAS data files on SAS
8 and later SAS IOM servers
-
integrated SAS formatting services,
which are the included core set of SAS formats that are used when
reading or modifying data
-
use of basic OLE DB schema rowsets,
which enable consumers to obtain metadata about the data source that
they use
-
support for random access by using
the ADO adOpenDynamic cursor type and recordset bookmarks
OLE DB
data providers, including the IOM Data Provider, can be accessed through
the low-level OLE DB interfaces by using Visual C++. Alternatively,
they can be accessed through the higher-level ActiveX Data Objects
(ADO) using Visual C++, VBScript, Java, JScript, or Visual Basic.
In .NET programming languages like C# and VB.NET, the IOM Data Provider
can be used via the ADO.NET OLE DB data provider. For examples using
ADO.NET, see
Accessing SAS Data with ADO.NET
.
The IOM
Data Provider is documented in the
SAS Providers for
OLE DB: Cookbook. This cookbook, which applies
to all four SAS Data Providers, contains ADO examples written in Microsoft
Visual Basic as well as OLE DB examples written in Microsoft Visual
C++. You can either apply the examples directly or modify them to
fit your needs.
Note: When you create
an IOM Data Provider connection, you specify the unique identifier
of a workspace object. The IOM Data Provider can locate the specified
workspace only if it is stored in either a WorkspaceManager object
or an ObjectKeeper object. Depending on the interface that you use,
store your workspace as follows:
-
If you use the object manager,
then create an ObjectKeeper object and add your workspace to it manually
by using the ObjectKeeper's
AddObject
function.
When you have finished using the IOM Data Provider, remove the workspace
by using the
RemoveObject
function.
-
If you use the workspace manager,
then specify
VisibilityProcess
when you create
your workspace. When you specify this attribute, the workspace manager
stores the workspace automatically. When you have finished using the
IOM Data Provider, remove the workspace by using the
RemoveWorkspace
function.