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 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.odbc-connect" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>odbc_connect</refname>
<refpurpose>Connect to a datasource</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>Odbc\Connection</type><type>false</type></type><methodname>odbc_connect</methodname>
<methodparam><type>string</type><parameter>dsn</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>user</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>password</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>cursor_option</parameter><initializer><constant>SQL_CUR_USE_DRIVER</constant></initializer></methodparam>
</methodsynopsis>
<simpara>
The connection id returned by this functions is needed by other
ODBC functions. You can have multiple connections open at once as long as
they either use different db or different credentials.
</simpara>
<simpara>
With some ODBC drivers, executing a complex stored procedure may
fail with an error similar to: "Cannot open a cursor on a stored
procedure that has anything other than a single select statement
in it". Using SQL_CUR_USE_ODBC may avoid that error. Also, some
drivers don't support the optional row_number parameter in
<function>odbc_fetch_row</function>. SQL_CUR_USE_ODBC might help
in that case, too.
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>dsn</parameter></term>
<listitem>
<para>
The database source name for the connection. Alternatively, a
DSN-less connection string can be used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>user</parameter></term>
<listitem>
<para>
The username.
This parameter is ignored if <parameter>dsn</parameter> contains <literal>uid</literal>.
To connect without specifying a <parameter>user</parameter>,
use &null;.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>password</parameter></term>
<listitem>
<para>
The password.
This parameter is ignored if <parameter>dsn</parameter> contains <literal>pwd</literal>.
To connect without specifying a <parameter>password</parameter>,
use &null;.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>cursor_option</parameter></term>
<listitem>
<para>
This sets the type of cursor to be used
for this connection. This parameter is not normally needed, but
can be useful for working around problems with some ODBC drivers.
</para>
<simpara>
The following constants are defined for cursortype:
</simpara>
<para>
<itemizedlist>
<listitem>
<simpara>
SQL_CUR_USE_IF_NEEDED
</simpara>
</listitem>
<listitem>
<simpara>
SQL_CUR_USE_ODBC
</simpara>
</listitem>
<listitem>
<simpara>
SQL_CUR_USE_DRIVER
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns an ODBC connection, &return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&odbc.changelog.connection-return;
&odbc.changelog.credential-params;
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>DSN-less connections</title>
<programlisting role="php">
<![CDATA[
<?php
// Microsoft SQL Server using the SQL Native Client 10.0 ODBC Driver - allows connection to SQL 7, 2000, 2005 and 2008
$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);
// Microsoft Access
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);
// Microsoft Excel
$excelFile = realpath('C:/ExcelData.xls');
$excelDir = dirname($excelFile);
$connection = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=$excelFile;DefaultDir=$excelDir" , '', '');
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>For persistent connections: <function>odbc_pconnect</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
-->
|