mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-16 17:16:25 +00:00
195 lines
7.9 KiB
HTML
195 lines
7.9 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||
<title>Chapter 21. Berkeley DB Extensions: Tcl</title>
|
||
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
|
||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
|
||
<link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
|
||
<link rel="up" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
|
||
<link rel="prev" href="sequence.html" title="Chapter 20. Sequences" />
|
||
<link rel="next" href="tcl_using.html" title="Using Berkeley DB with Tcl" />
|
||
</head>
|
||
<body>
|
||
<div xmlns="" class="navheader">
|
||
<div class="libver">
|
||
<p>Library Version 11.2.5.2</p>
|
||
</div>
|
||
<table width="100%" summary="Navigation header">
|
||
<tr>
|
||
<th colspan="3" align="center">Chapter 21.
|
||
Berkeley DB Extensions: Tcl
|
||
</th>
|
||
</tr>
|
||
<tr>
|
||
<td width="20%" align="left"><a accesskey="p" href="sequence.html">Prev</a> </td>
|
||
<th width="60%" align="center"> </th>
|
||
<td width="20%" align="right"> <a accesskey="n" href="tcl_using.html">Next</a></td>
|
||
</tr>
|
||
</table>
|
||
<hr />
|
||
</div>
|
||
<div class="chapter" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h2 class="title"><a id="tcl"></a>Chapter 21.
|
||
Berkeley DB Extensions: Tcl
|
||
</h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="toc">
|
||
<p>
|
||
<b>Table of Contents</b>
|
||
</p>
|
||
<dl>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="tcl.html#tcl_intro">Loading Berkeley DB with Tcl</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<dl>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="tcl.html#id3975547">Installing as a Tcl Package</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="tcl.html#id3975392">Loading Berkeley DB with Tcl</a>
|
||
</span>
|
||
</dt>
|
||
</dl>
|
||
</dd>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="tcl_using.html">Using Berkeley DB with Tcl</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="tcl_program.html">Tcl API programming notes</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="tcl_error.html">Tcl error handling</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="tcl_faq.html">Tcl FAQ</a>
|
||
</span>
|
||
</dt>
|
||
</dl>
|
||
</div>
|
||
<div class="sect1" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h2 class="title" style="clear: both"><a id="tcl_intro"></a>Loading Berkeley DB with Tcl</h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="toc">
|
||
<dl>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="tcl.html#id3975547">Installing as a Tcl Package</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="tcl.html#id3975392">Loading Berkeley DB with Tcl</a>
|
||
</span>
|
||
</dt>
|
||
</dl>
|
||
</div>
|
||
<p>Berkeley DB includes a dynamically loadable Tcl API, which requires that
|
||
Tcl/Tk 8.5 or later already be installed on your system. You can
|
||
download a copy of Tcl from the <a class="ulink" href="http://www.tcl.tk" target="_top">Tcl
|
||
Developer Xchange</a> Web site.</p>
|
||
<p>This document assumes that you already configured Berkeley DB for Tcl
|
||
support, and you have built and installed everything where you want it
|
||
to be. If you have not done so, see
|
||
<a href="../installation/build_unix_conf.html" class="olink">Configuring Berkeley DB</a> or <a href="../installation/build_win_tcl.html" class="olink">Building the Tcl API</a> in the Berkeley DB Installation and Build Guide for more
|
||
information.</p>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="id3975547"></a>Installing as a Tcl Package</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>Once enabled, the Berkeley DB shared library for Tcl is automatically installed
|
||
as part of the standard installation process. However, if you want to be
|
||
able to dynamically load it as a Tcl package into your script, there are
|
||
several steps that must be performed:</p>
|
||
<div class="orderedlist">
|
||
<ol type="1">
|
||
<li>Run the Tcl shell in the install directory.</li>
|
||
<li>Append this directory to your auto_path variable.</li>
|
||
<li>Run the pkg_mkIndex proc, giving the name of the Berkeley DB Tcl library.</li>
|
||
</ol>
|
||
</div>
|
||
<p>For example:</p>
|
||
<pre class="programlisting"># tclsh8.5
|
||
% lappend auto_path /usr/local/BerkeleyDB.5.2/lib
|
||
% pkg_mkIndex /usr/local/BerkeleyDB.5.2/lib libdb_tcl-5.2.so</pre>
|
||
<p>Note that your Tcl and Berkeley DB version numbers may differ from the
|
||
example, and so your tclsh and library names may be different.</p>
|
||
</div>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="id3975392"></a>Loading Berkeley DB with Tcl</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>The Berkeley DB package may be loaded into the user's interactive Tcl script
|
||
(or wish session) via the <span class="bold"><strong>load</strong></span> command. For example:</p>
|
||
<pre class="programlisting">load /usr/local/BerkeleyDB.5.2/lib/libdb_tcl-5.2.so</pre>
|
||
<p>Note that your Berkeley DB version numbers may differ from the example, and so
|
||
the library name may be different.</p>
|
||
<p>If you installed your library to run as a Tcl package, Tcl application
|
||
scripts should use the <span class="bold"><strong>package</strong></span> command to indicate to the Tcl
|
||
interpreter that it needs the Berkeley DB package and where to find it. For
|
||
example:</p>
|
||
<pre class="programlisting">lappend auto_path "/usr/local/BerkeleyDB.5.2/lib"
|
||
package require Db_tcl</pre>
|
||
<p>No matter which way the library gets loaded, it creates a command named
|
||
<span class="bold"><strong>berkdb</strong></span>. All the Berkeley DB functionality is accessed via this
|
||
command and additional commands it creates on behalf of the application.
|
||
A simple test to determine whether everything is loaded and ready is to
|
||
display the library version, as follows:</p>
|
||
<pre class="programlisting">berkdb version -string</pre>
|
||
<p>This should return you the Berkeley DB version in a string format.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="navfooter">
|
||
<hr />
|
||
<table width="100%" summary="Navigation footer">
|
||
<tr>
|
||
<td width="40%" align="left"><a accesskey="p" href="sequence.html">Prev</a> </td>
|
||
<td width="20%" align="center"> </td>
|
||
<td width="40%" align="right"> <a accesskey="n" href="tcl_using.html">Next</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="40%" align="left" valign="top">Chapter 20.
|
||
Sequences
|
||
</td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="h" href="index.html">Home</a>
|
||
</td>
|
||
<td width="40%" align="right" valign="top"> Using Berkeley DB with Tcl</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</body>
|
||
</html>
|