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