## CORBA Interface IDataService

Provides access to data sources.

### Definition

CORBA Module SAS

### IDataService Description

This service provides access to tabular data sources within a SAS Workspace. It acts as an access point within the workspace for standard data access APIs such as ADO, OLE DB and JDBC. It also gives you control over data source configuration by providing methods to manage the workspace's librefs. Librefs are references to SAS data libraries. They are often used by SAS programs to specify SAS datasets.

CORBA Definitions
exception NoLibrary | A specified SAS data library does not exist.
exception NoWorkDeassign | The SAS System library WORK may not be deassigned.
exception LibraryInUse | The data service could not clear or deassign a library because it was in use.
exception InvalidEngine | The specified SAS engine was not found.
attribute Parent | Parent Workspace attribute
method ListLibrefs | Lists all the currently defined libraries.
method AssignLibref | Assigns a libref for the specified path, and returns a pointer to a new component for the libref.
method DeassignLibref | Deassigns an existing libref.
method UseLibref | Obtains the libref component for the specified libref name.

Java Classes
IDataServiceHelper | Used to manipulate the IDataService type
IDataServiceHolder | Used to process the IDataService type as an out parameter
NoLibrary | A specified SAS data library does not exist.
NoLibraryHelper | Used to manipulate the NoLibrary type
NoLibraryHolder | Used to process the NoLibrary type as an out parameter
NoWorkDeassign | The SAS System library WORK may not be deassigned.
NoWorkDeassignHelper | Used to manipulate the NoWorkDeassign type
NoWorkDeassignHolder | Used to process the NoWorkDeassign type as an out parameter
LibraryInUse | The data service could not clear or deassign a library because it was in use.
LibraryInUseHelper | Used to manipulate the LibraryInUse type
LibraryInUseHolder | Used to process the LibraryInUse type as an out parameter
InvalidEngine | The specified SAS engine was not found.
InvalidEngineHelper | Used to manipulate the InvalidEngine type
InvalidEngineHolder | Used to process the InvalidEngine type as an out parameter

Java Interfaces
IDataService | Provides access to data sources.

Java Interface IDataService

Provides access to data sources.

Package com.sas.iom.SAS

IDataService Description
This service provides access to tabular data sources within a SAS Workspace. It acts as an access point within the workspace for standard data access APIs such as ADO, OLE DB and JDBC. It also gives you control over data source configuration by providing methods to manage the workspace's librefs. Librefs are references to SAS data libraries. They are often used by SAS programs to specify SAS datasets.

`public interface IDataService
extends org.omg.CORBA.Object`

Method Summary

void | ListLibrefs ( StringSeqHolder names ) throws ( NoAccessMethod, LNameNoAssign, GenericError ); Lists all the currently defined libraries.
ILibref | AssignLibref ( java.lang.String name , java.lang.String engine , java.lang.String path , java.lang.String options ) throws ( InvalidPName, NoAccessMethod, InvalidLName, LNameNoAssign, NoLibrary, InvalidEngine, GenericError ); Assigns a libref for the specified path, and returns a pointer to a new component for the libref.
void | DeassignLibref ( java.lang.String name ) throws ( LNameNoAssign, NoWorkDeassign, LibraryInUse, GenericError ); Deassigns an existing libref.
ILibref | UseLibref ( java.lang.String name ) throws ( LNameNoAssign, NoLibrary, GenericError ); Obtains the libref component for the specified libref name.

Java Class IDataServiceHelper

public class IDataServiceHelper

Description
Implementing class for methods (insert, extract, type, id, read, write, narrow) used to manipulate the IDataService type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IDataServiceHelper

Java Class IDataServiceHolder

public class IDataServiceHolder

Description
Implementing class for methods (_read, _write, _type) used to process the IDataService type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IDataServiceHolder

CORBA Exception NoLibrary

A specified SAS data library does not exist.

Description
The specified SAS data library does not exist.

Java Class NoLibrary

public class NoLibrary

    java.lang.Object
      |
      +--java.lang.Throwable
            |
            +--java.lang.Exception
                  |
                  +--org.omg.CORBA.UserException
                        |
                        +--com.sas.iom.SAS.IDataService_1_0Package.NoLibrary

Java Class NoLibraryHelper

public class NoLibraryHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate the NoLibrary type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IDataService_1_0Package.NoLibraryHelper

Java Class NoLibraryHolder

public class NoLibraryHolder

Description
Implementing class for methods (_read, _write, _type) used to process the NoLibrary type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IDataService_1_0Package.NoLibraryHolder

CORBA Exception NoWorkDeassign

The SAS System library WORK may not be deassigned.

Description
The SAS System library WORK may not be deassigned.

Java Class NoWorkDeassign

public class NoWorkDeassign

    java.lang.Object
      |
      +--java.lang.Throwable
            |
            +--java.lang.Exception
                  |
                  +--org.omg.CORBA.UserException
                        |
                        +--com.sas.iom.SAS.IDataService_1_0Package.NoWorkDeassign

Java Class NoWorkDeassignHelper

public class NoWorkDeassignHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate the NoWorkDeassign type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IDataService_1_0Package.NoWorkDeassignHelper

Java Class NoWorkDeassignHolder

public class NoWorkDeassignHolder

Description
Implementing class for methods (_read, _write, _type) used to process the NoWorkDeassign type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IDataService_1_0Package.NoWorkDeassignHolder

CORBA Exception LibraryInUse

The data service could not clear or deassign a library because it was in use.

Description
The data service could not clear or deassign a library because it was in use.

Java Class LibraryInUse

public class LibraryInUse

    java.lang.Object
      |
      +--java.lang.Throwable
            |
            +--java.lang.Exception
                  |
                  +--org.omg.CORBA.UserException
                        |
                        +--com.sas.iom.SAS.IDataService_1_0Package.LibraryInUse

Java Class LibraryInUseHelper

public class LibraryInUseHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate the LibraryInUse type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IDataService_1_0Package.LibraryInUseHelper

Java Class LibraryInUseHolder

public class LibraryInUseHolder

Description
Implementing class for methods (_read, _write, _type) used to process the LibraryInUse type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IDataService_1_0Package.LibraryInUseHolder

CORBA Exception InvalidEngine

The specified SAS engine was not found.

Description
The specified SAS engine was not found. The engine name that you specified is probably invalid, but it may also be that the the engine is not available on this host or on this release of the SAS System.

Java Class InvalidEngine

public class InvalidEngine

    java.lang.Object
      |
      +--java.lang.Throwable
            |
            +--java.lang.Exception
                  |
                  +--org.omg.CORBA.UserException
                        |
                        +--com.sas.iom.SAS.IDataService_1_0Package.InvalidEngine

Java Class InvalidEngineHelper

public class InvalidEngineHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate the InvalidEngine type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IDataService_1_0Package.InvalidEngineHelper

Java Class InvalidEngineHolder

public class InvalidEngineHolder

Description
Implementing class for methods (_read, _write, _type) used to process the InvalidEngine type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IDataService_1_0Package.InvalidEngineHolder

CORBA Attribute Parent (readonly)

Parent Workspace attribute

Description
This attribute allows you to navigate back to the Workspace, which is the parent of this component.

Usage

Java Method Parent

    public IWorkspace Parent ();

CORBA Method ListLibrefs

Lists all the currently defined libraries.

Description
This operation returns a list of the names of all the currently defined libraries in the server.

Usage
You can use this operation to discover what libraries are assigned in your Workspace. The return value is an array of strings listing the libref names. If you need a Libref component, you can pass any of the returned names to UseLibref.

Java Method ListLibrefs

`void` ListLibrefs (

        StringSeqHolder names
        )
        throws (
                NoAccessMethod,
                LNameNoAssign,
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
names | out | StringSeqHolder | An array of strings containing the libref names.

Example

CORBA Method AssignLibref

Assigns a libref for the specified path, and returns a pointer to a new component for the libref.

Description
This operation uses the specified information to assign a libref in the server. It then returns a Libref component which represents the new libref. This operation is equivalent to the LIBNAME statement in the SAS language. You can use the Libref component to access and manipulate the members of the library.

This method is similar to the UseLibref operation in that they both return a Libref component. However, it differs in that it creates a new libref while the UseLibref operation references an existing libref.

Usage
The name, engine, path, and options parameters adhere to the conventions of the corresponding parts of the LIBNAME statement.

Java Method AssignLibref

`public ILibref` AssignLibref (

        java.lang.String name ,
        java.lang.String engine ,
        java.lang.String path ,
        java.lang.String options
        )
        throws (
                InvalidPName,
                NoAccessMethod,
                InvalidLName,
                LNameNoAssign,
                NoLibrary,
                InvalidEngine,
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
name | in | java.lang.String | This parameter is the name of the libref, which acts as a logical name for the data library to which it is assigned. It should conform to the rules of SAS libref names for the platform on which the server is running.
engine | in | java.lang.String | This string specifies the name of the engine to use with the newly-created libref. The available engines are dependent on the host system, the version of SAS and the site installation. An empty (zero-length) string indicates the default engine.
path | in | java.lang.String | The host filesystem pathname (or other engine-specific designation) of the SAS data library being referenced. The form of the specification is dependent upon the platform on which the server is running and the conventions of the selected engine. The engine will often require that this location (such as a directory) already exist on the server machine.
options | in | java.lang.String | This input string contains any LIBNAME and/or engine options that are to be applied to this assignment. If no options are needed, pass an empty (zero-length) string.

Example

CORBA Method DeassignLibref

Deassigns an existing libref.

Description
This operation deassigns an existing libref. Calling it is equivalent to executing a LIBNAME CLEAR statement in the SAS language.

If files are currently open in the same scope as the assigned libref, RIO will close the files before deassigning the libref. If there are files currently open in a different scope, the deassign will fail.

Usage

Java Method DeassignLibref

`void` DeassignLibref (

        java.lang.String name
        )
        throws (
                LNameNoAssign,
                NoWorkDeassign,
                LibraryInUse,
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
name | in | java.lang.String | This string parameter specifies the name of the libref to deassign.

Example

CORBA Method UseLibref

Obtains the libref component for the specified libref name.

Description
This operation returns a pointer to a Libref component for an existing library. The Libref component is used to access and manipulate the members of the library.

Usage
This method is similar to the AssignLibref operation in that they both return a Libref component. However, it differs in that it returns the component for an existing library whereas AssignLibref creates a new libref and returns the component for that.

Java Method UseLibref

`public ILibref` UseLibref (

        java.lang.String name
        )
        throws (
                LNameNoAssign,
                NoLibrary,
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
name | in | java.lang.String | This string specifies the name of the existing libref that is to be used. The name must correspond to a libref that has already been assigned in this Workspace. This libref could have been created by the AssignLibref operation call, it could have resulted from the execution of a LIBNAME statement or it may be a predefined library such as WORK, SASUSER or SASHELP.

Example