|
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> |