<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:fn="http://www.w3.org/2005/02/xpath-functions"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css"> <title>Erlang -- Introduction</title> </head> <body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container"> <script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript"> <!-- function getWinHeight() { var myHeight = 0; if( typeof( window.innerHeight ) == 'number' ) { //Non-IE myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible myHeight = document.body.clientHeight; } return myHeight; } function setscrollpos() { var objf=document.getElementById('loadscrollpos'); document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2; } function addEvent(obj, evType, fn){ if (obj.addEventListener){ obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } addEvent(window, 'load', setscrollpos); //--></script><div id="leftnav"><div class="innertube"> <img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/odbc-2.10.7.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>Erlang ODBC</strong><br><strong>User's Guide</strong><br><small>Version 2.10.7</small></p> <br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Chapters</strong></small></p> <ul class="flipMenu" imagepath="../../../../doc/js/flipmenu"> <li id="loadscrollpos" title="Introduction" expanded="true">Introduction<ul> <li><a href="introduction.html"> Top of chapter </a></li> <li title="Purpose"><a href="introduction.html#id2254095">Purpose</a></li> <li title="Prerequisites"><a href="introduction.html#id2258490">Prerequisites</a></li> <li title="About ODBC"><a href="introduction.html#id2257409">About ODBC</a></li> <li title="About the Erlang ODBC application"><a href="introduction.html#id2257889">About the Erlang ODBC application</a></li> </ul> </li> <li id="no" title="Getting started" expanded="false">Getting started<ul> <li><a href="getting_started.html"> Top of chapter </a></li> <li title="Setting things up "><a href="getting_started.html#id2254050">Setting things up </a></li> <li title="Using the Erlang API"><a href="getting_started.html#id2258910">Using the Erlang API</a></li> </ul> </li> <li id="no" title="Databases" expanded="false">Databases<ul> <li><a href="databases.html"> Top of chapter </a></li> <li title="Databases"><a href="databases.html#id2252660">Databases</a></li> <li title="Database independence "><a href="databases.html#id2252711">Database independence </a></li> <li title="Data types "><a href="databases.html#id2258977">Data types </a></li> <li title="Batch handling"><a href="databases.html#id2254913">Batch handling</a></li> </ul> </li> <li id="no" title="Error handling" expanded="false">Error handling<ul> <li><a href="error_handling.html"> Top of chapter </a></li> <li title="Strategy "><a href="error_handling.html#id2255075">Strategy </a></li> <li title="The whole picture "><a href="error_handling.html#id2255171">The whole picture </a></li> </ul> </li> </ul> </div></div> <div id="content"> <div class="innertube"> <h1>1 Introduction</h1> <h3><a name="id2254095">1.1 Purpose</a></h3> <p>The purpose of the Erlang ODBC application is to provide the programmer with an ODBC interface that has a Erlang/OTP touch and feel. So that the programmer may concentrate on solving his/her actual problem instead of struggling with pointers and memory allocation which is not very relevant for Erlang. This user guide will give you some information about technical issues and provide some examples of how to use the Erlang ODBC interface.</p> <h3><a name="id2258490">1.2 Prerequisites</a></h3> <p>It is assumed that the reader is familiar with the Erlang programming language, concepts of OTP and has a basic understanding of relational databases and SQL.</p> <h3><a name="id2257409">1.3 About ODBC</a></h3> <p>Open Database Connectivity (ODBC) is a Microsoft standard for accessing relational databases that has become widely used. The ODBC standard provides a c-level application programming interface (API) for database access. It uses Structured Query Language (SQL) as its database access language.</p> <h3><a name="id2257889">1.4 About the Erlang ODBC application</a></h3> <p>Provides an Erlang interface to communicate with relational SQL-databases. It is built on top of Microsofts ODBC interface and therefore requires that you have an ODBC driver to the database that you want to connect to. The Erlang ODBC application is designed using the version 3.0 of the ODBC-standard, however using the option <span class="code">{scrollable_cursors, off} </span> for a connection has been known to make it work for at least some 2.X drivers.</p> </div> <div class="footer"> <hr> <p>Copyright © 1999-2010 Ericsson AB. All Rights Reserved.</p> </div> </div> </div></body> </html>