File: oci-set-client-identifier.xml

package info (click to toggle)
php-doc 20140201-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 74,084 kB
  • ctags: 4,040
  • sloc: xml: 998,137; php: 20,812; cpp: 500; sh: 177; makefile: 63; awk: 28
file content (135 lines) | stat: -rw-r--r-- 3,601 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 331735 $ -->
<refentry xml:id="function.oci-set-client-identifier" xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>oci_set_client_identifier</refname>
  <refpurpose>Sets the client identifier</refpurpose>
 </refnamediv>
 
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>bool</type><methodname>oci_set_client_identifier</methodname>
   <methodparam><type>resource</type><parameter>connection</parameter></methodparam>
   <methodparam><type>string</type><parameter>client_identifier</parameter></methodparam>
  </methodsynopsis>
  <para>
   Sets the client identifier used by various database components to
   identify lightweight application users who authenticate as the same
   database user.
  </para>
  <para>
   The client identifier is registered with the database when the next
   'roundtrip' from PHP to the database occurs, typically when an SQL
   statement is executed.
  </para>
  <para>
   The identifier can subsequently be queried, for example
   with <literal>SELECT SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER')
   FROM DUAL</literal>.  Database administration views such
   as <literal>V$SESSION</literal> will also contain the value.  It
   can be used with <literal>DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE</literal>
   for tracing and can also be used for auditing.
  </para>
  <para>
   The value may be retained across page requests that use the same persistent connection.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>connection</parameter></term>
     <listitem>
      &oci.parameter.connection;
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>client_identifier</parameter></term>
     <listitem>
      <para>
       User chosen string up to 64 bytes long.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   &return.success;
  </para>
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title>Setting the client identifier to the application user</title>
    <programlisting role="php">
<![CDATA[
<?php

// Find the application user's login name
session_start();
$un = my_validate_session($_SESSION['username']);
$c = oci_connect('myschema', 'welcome', 'localhost/XE');

// Tell Oracle who that user is
oci_set_client_identifier($c, $un);

// The next roundtrip to the database will piggyback the identifier
$s = oci_parse($c, 'select mydata from mytable');
oci_execute($s);

// ...

?>
]]>
    </programlisting>
   </example>
  </para>
 </refsect1>

 <refsect1 role="notes">
  &reftitle.notes;
  &oci.roundtrip.caution;
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>oci_set_module_name</function></member>
    <member><function>oci_set_action</function></member>
    <member><function>oci_set_client_info</function></member>
   </simplelist>
  </para>
 </refsect1>

</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->