com.sas.net.sharenet
Class ShareNetDriver

com.sas.net.sharenet.ShareNetDriver
All Implemented Interfaces:
java.sql.Driver

public class ShareNetDriver
implements java.sql.Driver

ShareNetDriver class implements the Driver interface.

The DriverManager will try to load as many drivers as it can find and then for any given connection request, it will ask each driver in turn to try to connect to the target URL.

When a Driver class is loaded, it should create an instance of itself and register it with the DriverManager. This means that a user can load and register a driver by doing Class.forName("foo.bah.Driver").

See Also:
ShareNetConnection

Field Summary
static int majorVersion
           
static int minorVersion
           
 
Constructor Summary
ShareNetDriver()
          Constructs a ShareNetDriver object and registers the SAS/SHARE driver for JDBC with the java.sql.DriverManager.
 
Method Summary
 boolean acceptsURL(java.lang.String url)
          Returns a value of True if the driver accepts this style of URL and the specified server.
 java.sql.Connection connect(java.lang.String url, java.util.Properties info)
          Attempts to make a database connection to the server specified by the URL.
 int getMajorVersion()
          Gets the driver's major version number.
 int getMinorVersion()
          Gets the driver's minor version number.
 java.sql.DriverPropertyInfo[] getPropertyInfo(java.lang.String url, java.util.Properties info)
          Gets a DriverPropertyInfo object that lists the properties for the SAS/SHARE driver for JDBC.
 boolean jdbcCompliant()
          Returns whether the Driver is JDBC COMPLIANT.
 

Field Detail

majorVersion

public static final int majorVersion
See Also:
Constant Field Values

minorVersion

public static final int minorVersion
See Also:
Constant Field Values
Constructor Detail

ShareNetDriver

public ShareNetDriver()
               throws java.sql.SQLException
Constructs a ShareNetDriver object and registers the SAS/SHARE driver for JDBC with the java.sql.DriverManager.

Throws:
java.sql.SQLException - This exception is thrown if a ShareNetException is detected.
Method Detail

connect

public java.sql.Connection connect(java.lang.String url,
                                   java.util.Properties info)
                            throws java.sql.SQLException
Attempts to make a database connection to the server specified by the URL. The driver returns a NULL if it determines that it is the wrong kind of driver to connect to the server. The driver raises an SQLException if it is the right driver to connect to the server, but cannot connect to the database.

Specified by:
connect in interface java.sql.Driver
Parameters:
url - The URL of the database to connect to. The connect method accepts a string representation of a URL and a java.util.Properties object as input. If the URL does not specify sharenet, a NULL is returned. The URL must be of the form:
      jdbc:sharenet://hostname:portnumber
     
where hostname is the name of the machine where the SAS/SHARE server is running, and portnumber is the port the SAS/SHARE server is configured to use.

info - A list of connection arguments.
The properties argument can be used to pass tag/value pairs as connection arguments. Properties for obtaining a ShareNetConnection are treated case-insensitively. The properties for the ShareNetConnection class are as follows:

    user
    A valid username for the SAS/SHARE server you specify in the URL.

    password
    The password that corresponds to the user name that you specify with the user property. This is the password typically thought of as the password needed to connect to the server. It is specifically the password needed by the network protocol.
    shareUser
    Deprecated. Replaced by user

    sharePassword
    Deprecated. Replaced by password

    appname
    The name of the applet or application you're creating. This name will appear in the all server log entries related to the program. It is limited to eight characters; names longer than eight characters will be truncated.

    sapw
    The Server Access PassWord needed if the server was started with the User Access Password (UAPW) option. This is an older way of supporting security. Newer systems will typically do not need this and use the "password" property, but if the server was started with UAPW, the sapw will be required in order to connect.

    pt2dbpw
    The SQL Pass-Through access password for the SAS/SHARE server your program will connect to. When connecting to another server using the "dbms" property, a password may be needed by the underlying dbms. The pt2dbpw property allows you to specify the password needed by the dbms listed in the "dbms" property.

    librefs
    A list of libnames and corresponding paths that specify the location of each Base SAS data set that your program will access. Only Base SAS data sets can be accessed with the librefs property. The librefs property value must be specifies as follows:
           (libname 'filepath'; libname 'filepath';...)
     

    dbms
    The name of the DBMS your program will access; the value must be eight characters padded with blanks. The default is "SQLVIEW ", which specifies that SAS data sets will be accessed. If you are accessing SPDS, use the keyword "SPDS". If you are not accessing SAS data, specify the name of the foreign DBMS as it is defined using SAS/ACCESS software.

    dbmsOptions
    Options for the foreign DBMS your program will access. Specify the options as you specify the database-definition arguments when using the PROC SQL statement CONNECT TO.

    dbms_options
    Deprecated. Replaced by dbmsOptions

    remarks
    A Boolean value that determines whether the SAS/SHARE driver for JDBC returns the data set label for each data set in the library that your program accesses. If the value is True, the labels are returned; the default value is False.

    Note: When this property is set to True, any operation that involves reading and returning data set labels can result in poor performance because each data set must be opened in order to read the label. For example, if this property is set to True, performance may be degraded when using the ShareNetDatabaseMetaData.getTables() method to retrieve a description of the tables in a catalog.

    undoPolicyNone
    A Boolean value that determines whether changes to the data are undone when an UPDATE or INSERT statement generates errors. When the value is set to True (the recommended setting), the changes are not undone; when the value is set to False, the server attempts to undo the changes.

    routerUrl
    The URL of the Message Router. The routerUrl property value must be specifies as follows:
          (routerUrl http://your_server/cgi-bin/shrcgi)
     

    where http://your_server/cgi-bin/shrcgi is the URL of the Message Router (shrcgi or shrcgi.exe), one of the tunnel feature's server programs.


Note: Users may alternatively pass in properties embedded in the url. The syntax for this is "url?[attr=value]&[...]", where attr is a valid property name, and value is a valid name. If users make use of this functionality, then if properties are also passed in via the Properties object, the properties in the url will, in the case of conflicts, override those in the Properties object. This means that if a user specifies a libref (for example) in both the URL and in the Properties object, the libref in the url will be the one to take precedence, and the one in the Properties object will be ignored.
Returns:
A connection to the URL if the correct form of URL is used; otherwise, a NULL is returned.
Throws:
java.sql.SQLException - This exception is thrown if a ShareNetException is detected.

acceptsURL

public boolean acceptsURL(java.lang.String url)
                   throws java.sql.SQLException
Returns a value of True if the driver accepts this style of URL and the specified server.

Specified by:
acceptsURL in interface java.sql.Driver
Parameters:
url - The URL of the database.
Returns:
True if this driver can connect to the given URL.
Throws:
java.sql.SQLException - This exception is thrown if a ShareNetException is detected.

getPropertyInfo

public java.sql.DriverPropertyInfo[] getPropertyInfo(java.lang.String url,
                                                     java.util.Properties info)
Gets a DriverPropertyInfo object that lists the properties for the SAS/SHARE driver for JDBC.

Specified by:
getPropertyInfo in interface java.sql.Driver
Parameters:
url - The URL of the database to connect to.
info - A list of tag/value pairs.
Returns:
An array of DriverPropertyInfo objects.
See Also:
connect(String, java.util.Properties)

getMajorVersion

public int getMajorVersion()
Gets the driver's major version number.

Specified by:
getMajorVersion in interface java.sql.Driver
Returns:
the driver's major version number

getMinorVersion

public int getMinorVersion()
Gets the driver's minor version number.

Specified by:
getMinorVersion in interface java.sql.Driver
Returns:
the driver's minor version number

jdbcCompliant

public boolean jdbcCompliant()
Returns whether the Driver is JDBC COMPLIANT.

Specified by:
jdbcCompliant in interface java.sql.Driver
Returns:
False.



Copyright © 2009 SAS Institute Inc. All Rights Reserved.