CONTENTS Title Page Copyright Page Send Us Your Comments Preface 1 Overview 1.1 Working Environment 1.2 SQL Interface 1.3 Rdb/Dispatch 1.4 Data and Metadata Drivers 1.5 Online Help 2 Data and Metadata Requirements for Access with SQL 2.1 Data Type Support 2.2 Data Type Conversion 2.3 Variant Structures 2.4 Data Driver Name Attribute 2.5 Protecting Data and Metadata 3 Accessing Data with SQL 3.1 Using Interactive SQL 3.2 Including SQL in Programs 3.2.1 Using Precompiler Support 3.2.2 Using Module Processor Support 3.3 Specifying the Metadata Source 3.3.1 Using the SQL ATTACH Statement 3.3.1.1 Attach Specification Qualifiers 3.3.1.2 The /DATA_DRIVER Qualifier 3.3.1.3 The /DICTIONARY_DRIVER Qualifier 3.3.1.4 The /PATHNAME Qualifier 3.3.1.5 The /TYPE Qualifier 3.3.2 Logical Names for Database Name Qualifiers 3.3.3 Using an Implicit Attach 3.4 Accessing Data Files 3.4.1 Reading Data 3.4.2 Updating Data 3.4.3 Inserting Data 3.4.4 Deleting Data 3.5 Using Transactions 3.5.1 Starting Transactions 3.5.2 Specifying the SQL Share Mode 3.5.3 Specifying Lock Characteristics 3.5.4 Support for the WAIT Options 3.5.5 Specifying Database Key Scope for Transactions 3.5.6 Specifying Transaction Characteristics 3.5.7 Completing Transactions 3.5.8 Using Distributed Transactions 3.6 Examining Product-Specific Attributes from SQL 3.7 Specifying Null Values 3.8 Specifying Default Values 3.9 Converting a Column to Another Data Type 3.10 Using Internationalization Options 3.10.1 Setting the Collating Sequence 3.10.2 Setting the Decimal Point 3.10.3 Setting the Digit Separator 3.11 Optimizing Multirelational Queries 3.12 Joining Tables Using the STARTING WITH Predicate 3.13 Detaching from the Metadata Source 4 Using Other Software to Access NSDS Databases 4.1 Using Data Distributor 4.1.1 Transferring Data from NSDS Databases with Data Distributor 4.2 Using DEC ODBC Driver for MS Windows 4.3 Using SQL/Services 5 Performance and Troubleshooting Considerations 5.1 Improving Transaction Performance Using the RESERVING Clause 5.2 Designing an Efficient Application 5.3 Tuning Your System 5.4 Troubleshooting 5.4.1 Using Error Diagnostic Flags 5.4.2 Displaying the Message Vector 5.4.3 Displaying NSDS Diagnostic Information 5.5 Commonly Encountered Error Types 5.5.1 Execution Errors 5.5.1.1 Avoiding Execution Errors 5.5.1.2 Resolving Execution Errors 5.5.2 Configuration Errors 5.5.3 Resource Constraints 5.5.4 Internal Errors 5.6 Interpreting Error Messages 5.6.1 Stacked Error Messages 5.6.2 Error Message Format 5.7 Error Message Documentation 5.8 Troubleshooting Distributed Transactions 5.9 Troubleshooting Desktop Products That Use SQL/Services 5.9.1 Common Errors 5.9.2 Understanding the SQL/Services Run-Time Environment 5.9.3 Troubleshooting DEC ODBC Driver for MS Windows Version 1.0 on a Personal Computer 5.10 How to Submit a Software Performance Report (SPR) A NSDS Support for SQL Syntax A.1 SQL Statements Supported by NSDS A.2 SQL Statements Not Supported by NSDS A.3 Restrictions on SQL Statements Supported by NSDS B System Tables Supported by NSDS Glossary