Working Implementation Agreements for Open Systems Interconnection Protocols: Part 19 - Remote Database Access Output from the December 1993 OSE Implementors' Workshop (OIW) SIG Chair: Peter Eng, IBM Canada SIG Editor: Joel Berson, Santosh Hasani, Digital Equipment Corp. ii Part 19 - Remote Database Access December 1993 (Working) Foreword This part of the Working Implementation Agreements was prepared by the Remote Database Access Special Interest Group (RDA SIG) of the Open Systems Environment Implementors' Workshop (OIW). See Part 1 - Workshop Policies and Procedures in the "Draft Working Implementation Agreements Document" for the workshop charter. Text in this part has been approved by the Plenary of the Workshop. This part replaces the previously existing part on this subject. Future changes and additions to this version of these implementation Agreements will be published as change pages. Deleted and replaced text will be shown as strikeout. New and replacement text will be shown as shaded. iii Part 19 - Remote Database Access December 1993 (Working) iv Part 19 - Remote Database Access December 1993 (Working) Table of Contents Part 19 - Remote Database Access . . . . . . . . . . . . . . 1 0 Introduction . . . . . . . . . . . . . . . . . . . . . . 1 1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Status . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 Normative references . . . . . . . . . . . . . . . . . . 1 4 Definitions and abbreviations . . . . . . . . . . . . . . 1 5 Structure of RDA standards . . . . . . . . . . . . . . . 1 6 SQL specialization . . . . . . . . . . . . . . . . . . . 1 6.1 Service parameter limits/agreements . . . . . . . . 1 6.2 Limits for common parameters . . . . . . . . . . . . 1 6.3 Other limits and agreements . . . . . . . . . . . . 2 6.4 Profiles . . . . . . . . . . . . . . . . . . . . . 2 Annex A (normative) RDA SIG object identifiers . . . . . . . . . . . . . . . . . 4 Annex B (normative) Protocol Implementation Conformance Statement . . . . . . . . 5 Annex C (informative) SQLSTATE values for RDA errors . . . . . . . . . . . . . . . 6 v Part 19 - Remote Database Access December 1993 (Working) List of Tables Table 43 - SQLSTATE values for RDA errors . . . . . . . . . . 7 vi Part 19 - Remote Database Access 0 Introduction Refer to the Stable Implementation Agreements. 1 Scope Refer to the Stable Implementation Agreements. 2 Status Refer to the Stable Implementation Agreements. 3 Normative references Refer to the Stable Implementation Agreements. 4 Definitions and abbreviations Refer to the Stable Implementation Agreements. 5 Structure of RDA standards Refer to the Stable Implementation Agreements. 6 SQL specialization 6.1 Service parameter limits/agreements Refer to the Stable Implementation Agreements. 6.2 Limits for common parameters Refer to the Stable Implementation Agreements. 1 Part 19 - Remote Database Access December 1993 (Working) 6.3 Other limits and agreements Refer to the Stable Implementation Agreements. 6.4 Profiles The names of RDA profiles are of the form "ARD-abcd". ("ARD" is reserved in ISO/IEC TR 10000-2 for Remote database Access.) a identifies the RDA specialization: 0 = SQL Specialization b identifies the capabilities for transaction management: 0 = transactions accessing data resources through a single remote open system (RDA Basic application-context). The type of transaction management provided is one-phase commitment. 1 = transactions spanning more than one open system (the RDA TP application-context). The type of transaction management provided is two-phase commitment. c identifies the functionality provided; that is, the set of functional units or other major elements of function mandated by the profile. This may differ among the various RDA Specializations. See below for the definition of this element for the SQL Specialization. d identifies the role: 0 = client role; that is, the ability to initiate RDA requests. 1 = server role; that is, the ability to respond to RDA requests. (An implementation that provides both roles must specify both profiles.) For the SQL Specialization, the following functionalities are defined: ARD-000d = Immediate execution: the capability to immediately execute SQL statements. (The significant function is the RDA Immediate Execution functional unit.) ARD-001d = Stored execution: the capability to store and later execute SQL statements. (The significant function is the RDA 2 Part 19 - Remote Database Access December 1993 (Working) Stored Execution functional unit.) ARD-002d = Status: the capability to perform status operations on other dialogues. (The significant function is the RDA Status functional unit together with support for the controlServiceDataRequested parameter of the R-Initialize service.) ARD-003d = Cancel: the capability to perform cancel operations on other dialogues. (The significant function is the RDA Cancel functional unit together with support for the controlServiceDataRequested parameter of the R-Initialize service.) Profiles for the RDA TP application-context will be defined at a later time. Refer to the Stable Implementation Agreements for the rules for and descriptions of the RDA profiles. 3 Part 19 - Remote Database Access December 1993 (Working) Annex A (normative) RDA SIG object identifiers Refer to the Stable Implementation Agreements. 4 Part 19 - Remote Database Access December 1993 (Working) Annex B (normative) Protocol Implementation Conformance Statement No text. 5 Part 19 - Remote Database Access December 1993 (Working) Annex C (informative) SQLSTATE values for RDA errors If passed on from the RDA service provider to an SQL Application in the RDA Client, errors returned by the SQL Server in RDA Error Responses are mapped into SQLSTATE values as specified in Table 43, SQLSTATE values for RDA errors. 6 Part 19 - Remote Database Access December 1993 (Working) Table 43 - SQLSTATE values for RDA errors SQLSTATE RDA Service Error Name VALUE HZ001 accessControlViolation HZ002 badRepetitionCount HZ003 commandHandleUnknown HZ004 controlAuthenticationFailure HZ005 controlServicesNotAllowed HZ006 dataResourceAlreadyOpen HZ007 dataResourceHandleNotSpecified HZ008 dataResourceHandleUnknown HZ009 dataResourceNameNotSpecified HZ010 dataResourceNotAvailable HZ011 dataResourceUnknown HZ012 dialogueIDUnknown HZ013 duplicateCommandHandle HZ014 duplicateDataResourceHandle HZ015 duplicateDialogueID HZ016 duplicateOperationID HZ017 invalidSequence HZ018 noDataResourceAvailable HZ019 operationAborted HZ020 operationCancelled HZ021 serviceNotNegotiated HZ022 transactionRolledBack HZ023 userAuthenticationFailure HZ024 hostIdentifierError HZ025 invalidSQLConformanceLevel HZ026 rDATransactionNotOpen HZ027 rDATransactionOpen 7 Part 19 - Remote Database Access December 1993 (Working) HZ028 sQLAccessControlViolation HZ029 sQLDatabaseResourceAlreadyOpen HZ030 sQLDBLArgumentCountMismatch HZ031 sQLDBLArgumentTypeMismatch HZ032 sQLDBLNoCharSet HZ033 sQLDBLTransactionStatementNotAllo wed HZ034 sQLUsageModeViolation SQLSTATE ACSE Service Error Name VALUE HZ200 A-AssociateFailurePermanent HZ201 A-AssociateFailureTransient HZ202 A-ReleaseFailure HZ203 A-AbortFailureServiceUser HZ204 A-AbortFailureServiceProvider SQLSTATE TP Service Error Name VALUE HZ500 BeginDialogueRejectedUser HZ501 BeginDialogueRejectedProvider HZ502 UError HZ503 UAbortRollbackTrue HZ504 UAbortRollbackFalse HZ505 PAbortRollbackTrue HZ506 PAbortRollbackFalse HZ507 HeuristicMix HZ508 HeuristicHazard HZ509 Rollback 8