Symbian3/SDK/Source/GUID-27A393D5-C7DF-5541-855A-2CB0E4C46D6D.dita
changeset 7 51a74ef9ed63
equal deleted inserted replaced
6:43e37759235e 7:51a74ef9ed63
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-27A393D5-C7DF-5541-855A-2CB0E4C46D6D" xml:lang="en"><title>The
       
    13 DBMS server</title><shortdesc>Describes the features of the DBMS server.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>A session with the DBMS server provides the basis for sharing databases
       
    15 with other threads; the DBMS server allows shared read/write access to databases
       
    16 by multiple clients.</p>
       
    17 <p>A session with the DBMS server is set up through an instance of the <codeph>RDbs</codeph> class.
       
    18 The behaviour of this class is similar to other session classes, for example,
       
    19 the file server session class, <codeph>RFs</codeph>.</p>
       
    20 <p>A client opens a connection with the DBMS server using the <codeph>Connect()</codeph> member
       
    21 function of <codeph>RDbs</codeph> and closes the connection by calling <codeph>Close()</codeph> on <codeph>RDbs</codeph>.</p>
       
    22 <p>Some useful points to note:</p>
       
    23 <ul>
       
    24 <li id="GUID-2CBE14E2-B9B9-59C0-B4A2-ED0A4C4DCFF7"><p>a thread can open any
       
    25 number of simultaneous connections to the DBMS server</p> </li>
       
    26 <li id="GUID-B9F8CA69-3594-5692-9B39-19800D8E8AB8"><p>a session can be used
       
    27 to open any number of databases.</p> </li>
       
    28 <li id="GUID-29CF3CF7-0786-5454-B79D-BD4B451701F1"><p>the same database can
       
    29 be opened many times within a single session; each such database object behaves
       
    30 independently with regard to transactions. </p> </li>
       
    31 <li id="GUID-9436A9F0-D007-5ED6-8E96-713F44EEF4A4"><p>a database cannot be
       
    32 opened for client-side read access and client-server write access at the same
       
    33 time; if write access is required by one client, then all clients must use
       
    34 the DBMS server.</p> </li>
       
    35 <li id="GUID-D52B72B2-699C-561A-B290-9FD1AEA0790F"><p>a session must be kept
       
    36 open until all DBMS objects opened through it have been closed.</p> </li>
       
    37 </ul>
       
    38 <p>Shared databases support all DBMS API functionality except database creation
       
    39 and changing the security key:</p>
       
    40 <ul>
       
    41 <li id="GUID-EAD7BB8E-5E08-50B7-A158-2125D32E1539"><p>databases should only
       
    42 be shared once they have a fully constructed schema, otherwise clients may
       
    43 attempt to access a half-created database.</p> </li>
       
    44 <li id="GUID-B65A6BA3-55EA-555D-9FBF-F13D8B916694"><p>using the <codeph>ChangeSecurity()</codeph> member
       
    45 function of <codeph>RDbDatabase</codeph> to change the security key for a
       
    46 secure database makes no sense if the database is currently shared.</p> </li>
       
    47 </ul>
       
    48 <p>The client server interface offers utility functions which allow the client
       
    49 to check the number of allocated DBMS objects.</p>
       
    50 <p>The interface also offers heap debugging support for the server's heap.</p>
       
    51 </conbody></concept>