!standard A.XX (00)                                02-05-25  AIXX-XXXX/XX
!class amendment 00-11-28
!status work item 00-11-28
!status received 00-11-28
!priority Medium
!difficulty Medium
!subject Database Interface 

!summary

$Id: AI-gnade.TXT,v 1.5 2002/06/08 07:15:31 merdmann Exp $

The SQLCLI packages provides access to RDBMS System.

!problem

A typical business application need to access data which is stored 
in large relational data base systems. In order to access this date,
the application has to connect with the data bases management system,
issue an query and collect the result. 

An application may have the need to connect different data base 
servers of different vendors at the same time.

In addition to the contents of the database, meta information 
about tables, data sources etc. have to be available over this 
interface as well.

Since the ISO92 SQLCLI interface is a widly used interface,
Ada 95 applications should also be able to use this interface 
without limitations. 

!proposal

Naming conventions are following this interface as mutch 
as possible. 

The SQLCLI  interface is implmented by the following packages:

SQLCLI                      - Basic Bindings 
SQLCLI.Desc                 - Driver features description
SQLCLI.Info                 - Connection Information
SQLCLI.Diag                 - Diagnostic Information
SQLCLI.Connection_Attribute - Connection Attributes
SQLCLI.Environment_Attribute- Environment Attributes
SQLCLI.Statement_Attribute  - Statement Attributes

Since the ODBC interface is not type safe, several support
packages are included to make the interface more convienient
and safer to use:

SQLCLI.Bind                - Binding to deferred buffers        


!example


!discussion


Security of deferred buffers:

The usage of deferred buffers as used by the SQLCI is directly
exposed to the end user. The usage of the Bind package makes the 
it typesafe but not secure, since the refered address might 
not exist any more.


!ACATS Test

ACATS test(s) need to be created.

!appendix





