Contents Developing Java Clients  

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 language 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 language 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.


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

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

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

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

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.  


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.  


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.  


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.  


Contents Developing Java Clients