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 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Driver options</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="sqlite3 driver manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Build and install the sqlite3 driver"
HREF="x64.html"><LINK
REL="NEXT"
TITLE="Peculiarities you should know about"
HREF="c134.html"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>sqlite3 driver manual: A libdbi driver using the SQLite3 embedded database engine</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="x64.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="c134.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="AEN98"
></A
>Chapter 3. Driver options</H1
><P
>Your application has to initialize libdbi drivers by setting some driver options with the <CODE
CLASS="FUNCTION"
>dbi_conn_set_option()</CODE
> and the <CODE
CLASS="FUNCTION"
>dbi_conn_set_option_numeric()</CODE
> library functions. The sqlite driver supports the following options:</P
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>dbname</DT
><DD
><P
>The name of the database you want to work with. As a SQLite database corresponds to one file in your filesystem, <CODE
CLASS="VARNAME"
>dbname</CODE
> can be any legal filename. If the database/file doesn't exist when you first try to access it, SQLite will create it on the fly.</P
><P
>It is important to understand that the full path of the database is composed of <CODE
CLASS="VARNAME"
>sqlite3_dbdir</CODE
> and <CODE
CLASS="VARNAME"
>dbname</CODE
>. Therefore <CODE
CLASS="VARNAME"
>dbname</CODE
> should not contain the full path of a file, but just the name.</P
></DD
><DT
>sqlite3_dbdir</DT
><DD
><P
>This is the directory that contains all sqlite databases. Use the full path please. If this option is not specified, a compile-time default directory will be used. By default, this directory (usually <TT
CLASS="FILENAME"
>/usr/local/var/lib/libdbi/sqlite3</TT
>) has read and write permissions for everyone with the sticky bit set. If this is not suitable for your application, use a custom directory with your preferred permissions instead.</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
>It is necessary to keep all sqlite databases in one directory to make it possible to list all existing databases through the libdbi API. However, you are free to open more than one connection simultaneously, each one using a different setting of <CODE
CLASS="PARAMETER"
>sqlite3_dbdir</CODE
>.</P
></BLOCKQUOTE
></DIV
></DD
><DT
>timeout (numeric)</DT
><DD
><P
>The connection timeout in seconds.</P
></DD
><DT
>sqlite3_timeout (numeric)</DT
><DD
><P
>The design of SQLite3 does not allow fully concurrent access by two clients. However, if the timeout is larger than zero, the second client will wait for the given amount of time for the first client to release its lock, if necessary. If the timeout is set to zero, the second client will return immediately, indicating a busy status. The numerical value of this option specifies the timeout in milliseconds.</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
>This option is deprecated. Use the generic option <CODE
CLASS="OPTION"
>timeout</CODE
> instead. In the current implementation, <CODE
CLASS="OPTION"
>sqlite3_timeout</CODE
> overrides <CODE
CLASS="OPTION"
>timeout</CODE
> if both are set. Please be aware that these options use different time scales.</P
></BLOCKQUOTE
></DIV
></DD
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="x64.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="c134.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Build and install the sqlite3 driver</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> </TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Peculiarities you should know about</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>
|