-
Notifications
You must be signed in to change notification settings - Fork 788
/
Copy pathoci-set-client-identifier.xml
135 lines (123 loc) · 3.55 KB
/
oci-set-client-identifier.xml
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$ -->
<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_id</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
'round-trip' 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_id</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 round-trip 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>
<member><function>oci_set_db_operation</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
-->