Sophie

Sophie

distrib > Mageia > 1 > i586 > media > core-release > by-pkgid > f0bc842dcf666302badcfd2545f3387c > files > 208

libfreetds0-doc-0.82-12.mga1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Current Projects, Language Bindings, and Alternatives</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="FreeTDS User Guide"
HREF="index.htm"><LINK
REL="UP"
TITLE="What is FreeTDS?"
HREF="what.htm"><LINK
REL="PREVIOUS"
TITLE="History of FreeTDS"
HREF="freetdshistory.htm"><LINK
REL="NEXT"
TITLE="Build FreeTDS"
HREF="build.htm"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="userguide.css"></HEAD
><BODY
CLASS="SECT1"
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"
><SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
> User Guide: A Guide to Installing, Configuring, and Running <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
></TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="freetdshistory.htm"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. What is <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
>?</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="build.htm"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="PROJECTS"
>Current Projects, Language Bindings, and Alternatives</A
></H1
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CURRENT"
>Current Projects</A
></H2
><P
><SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
> consists of two projects.  The <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
> C libraries and <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
>/ <ACRONYM
CLASS="ACRONYM"
>JDBC</ACRONYM
>.
			</P
><P
></P
><UL
><LI
STYLE="list-style-type: opencircle"
><P
>The <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
> C libraries support three separate <ACRONYM
CLASS="ACRONYM"
>API</ACRONYM
>s: <SPAN
CLASS="SYSTEMITEM"
>db-lib</SPAN
>, <SPAN
CLASS="SYSTEMITEM"
>ct-lib</SPAN
>, and <SPAN
CLASS="SYSTEMITEM"
>ODBC</SPAN
>.  Underlying these three is libtds, which handles the low-level details of the <ACRONYM
CLASS="ACRONYM"
>TDS</ACRONYM
> protocol, such as sending, receiving, and datatype conversion.  This document and the <A
HREF="http://www.freetds.org/"
TARGET="_top"
>FreeTDS</A
> website are dedicated to these libraries.  
			</P
></LI
><LI
STYLE="list-style-type: opencircle"
><P
>If Java is your game, we refer you to the 
<A
HREF="http://sourceforge.net/projects/jtds/"
TARGET="_top"
>jTDS</A
>
project on SourceForge.  It is a fork of the 
<SPAN
CLASS="PRODUCTNAME"
>FreeTDS/JDBC</SPAN
> project, by Craig Spannring, and is a free, native 100% Java implementation of a Type 4  <ACRONYM
CLASS="ACRONYM"
>JDBC</ACRONYM
> driver.  
			</P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="STATUS"
>Status</A
></H2
><P
>The <SPAN
CLASS="SYSTEMITEM"
>db-lib</SPAN
> and <SPAN
CLASS="SYSTEMITEM"
>ct-lib</SPAN
> <ACRONYM
CLASS="ACRONYM"
>API</ACRONYM
>s have been usable for several years.  They have been successfully  substituted for Sybase's own libraries in a variety of venues, including <SPAN
CLASS="PRODUCTNAME"
>Perl</SPAN
> and <SPAN
CLASS="PRODUCTNAME"
>PHP</SPAN
>.  That is not to say that these drivers are complete; they're not.  But they faithfully implement a useful &mdash; and widely used &mdash; subset of their <ACRONYM
CLASS="ACRONYM"
>API</ACRONYM
>s.  
			</P
><P
>In addition to the core <SPAN
CLASS="SYSTEMITEM"
>db-lib</SPAN
> <ACRONYM
CLASS="ACRONYM"
>API</ACRONYM
>, <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
>  includes a full implementation of <SPAN
CLASS="SYSTEMITEM"
>db-lib</SPAN
>'s <ACRONYM
CLASS="ACRONYM"
>bcp</ACRONYM
> functions, as well as <B
CLASS="COMMAND"
>freebcp</B
>, a replacement for Sybase's <SPAN
CLASS="APPLICATION"
>bcp</SPAN
> utility.  
			</P
><P
>The <SPAN
CLASS="SYSTEMITEM"
>ODBC</SPAN
> driver should be fully ODBC 3.0 compliant.  Any problems found in the currently implemented <ACRONYM
CLASS="ACRONYM"
>API</ACRONYM
> subset are cheerfully  addressed.  
			</P
><P
>Basic <A
HREF="apireference.htm"
>API coverage</A
> information for all libraries may be found in this manual.  It is maintained in <TT
CLASS="FILENAME"
>doc/api_status.txt</TT
>, included in the source distribution.   			
			</P
><P
>How big is it?  <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
> has over 90,000 lines of C code, maintained by a handful of developers.  Patches arrive irregularly, varying in size from one-liners to thousand-line monsters.  Almost all are applied or used in some way.  The mailing list has some 700 or so subscribers at this writing.  Safe to say, <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
>'s success so far lies somewhere between the Beetle and the Edsel.  
			</P
><P
>Who uses it?  Oh, pretty much everyone.  <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
> users almost certainly number in the tens of thousands.  It's used by large corporations, by the U.S. federal government (e.g. <A
HREF="http://www.ncbi.nlm.nih.gov/books/bv.fcgi?rid=toolkit.chapter.ch_dbapi"
TARGET="_top"
>Database Access Library</A
> at the National Center for Biotechnology Information) and, judging by the mailing list, by many webservers running Apache and PHP.  Microsoft recommends <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
> to their customers who want access to Microsoft SQL Server from non-Win32 clients. So do we.  
			</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="LANGUAGES"
>Languages besides C and Java</A
></H2
><P
>You may be wondering how these libraries fit with Perl, PHP, TCL, Python, or other popular scripting languages.  Most of these languages have bindings to Sybase that use either the <SPAN
CLASS="SYSTEMITEM"
>db-lib</SPAN
> or <SPAN
CLASS="SYSTEMITEM"
>ct-lib</SPAN
> <ACRONYM
CLASS="ACRONYM"
>API</ACRONYM
>, for which <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
> is intended as a drop-in replacement.  For instance, Michael Peppler's <SPAN
CLASS="SYSTEMITEM"
>DBD::Sybase</SPAN
> works very well using <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
> to access Sybase or Microsoft <SPAN
CLASS="PRODUCTNAME"
>SQL Server</SPAN
>s.  <SPAN
CLASS="PRODUCTNAME"
>PHP</SPAN
> has options for <TT
CLASS="FILENAME"
>sybase</TT
> (<SPAN
CLASS="SYSTEMITEM"
>db-lib</SPAN
>) and <TT
CLASS="FILENAME"
>sybase-ct</TT
> (<SPAN
CLASS="SYSTEMITEM"
>ct-lib</SPAN
>) <ACRONYM
CLASS="ACRONYM"
>API</ACRONYM
>s.
			</P
><P
>Not to be outdone, the folks at the <I
CLASS="FIRSTTERM"
>O'Caml</I
> project have a binding for that language.  You can read more about it on <A
HREF="http://kenn.frap.net/ocaml-freetds/"
TARGET="_top"
>Kenn Knowles's</A
> site; see also his <A
HREF="http://www.merjis.com/developers/"
TARGET="_top"
>ocamldbi</A
> driver.  
			</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="ALTERNATIVES"
>Alternatives</A
></H2
><P
></P
><DIV
CLASS="VARIABLELIST"
><P
><B
>Should <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
> not suit your needs, some alternatives</B
></P
><DL
><DT
>Sybase OpenClient</DT
><DD
><P
>In the time since <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
> was started, Sybase (as well as most major <ACRONYM
CLASS="ACRONYM"
>DBMS</ACRONYM
> vendors) has released its database for the Intel <SPAN
CLASS="PRODUCTNAME"
><ACRONYM
CLASS="ACRONYM"
>GNU</ACRONYM
>/Linux</SPAN
> platform.  The good: it is a solid product and supports <ACRONYM
CLASS="ACRONYM"
>TDS</ACRONYM
> 4.2 and <ACRONYM
CLASS="ACRONYM"
>TDS</ACRONYM
> 5.0.  The bad: it doesn't support <ACRONYM
CLASS="ACRONYM"
>TDS 7.0</ACRONYM
> or Linux/*BSD on non-Intel platforms.  The ugly: Microsoft broke date handling for big endian Sybase clients.</P
><P
>Depending on platform, it may cost something.</P
></DD
><DT
><SPAN
CLASS="SYSTEMITEM"
>ODBC</SPAN
> bridge products</DT
><DD
><P
>They use the <SPAN
CLASS="SYSTEMITEM"
>ODBC</SPAN
> driver on the NT box where your <SPAN
CLASS="PRODUCTNAME"
>SQL Server</SPAN
> runs so you'll never have trouble with new protocols and the like.  On the downside, they can be costly and may be inefficient.  We know of <SPAN
CLASS="PRODUCTNAME"
>EasySoft ODBC-ODBC Bridge</SPAN
> from <A
HREF="http://www.easysoft.com"
TARGET="_top"
>EasySoft</A
>, <SPAN
CLASS="PRODUCTNAME"
>Universal Data Access Driver</SPAN
> from <A
HREF="http://www.openlinksw.com"
TARGET="_top"
>OpenLink Software</A
>, <SPAN
CLASS="PRODUCTNAME"
>SequeLink</SPAN
> from <A
HREF="http://www.merant.com/"
TARGET="_top"
>Merant</A
>, and 
<SPAN
CLASS="APPLICATION"
><SPAN
CLASS="SYSTEMITEM"
>ODBC</SPAN
> Router</SPAN
> from <A
HREF="http://www.augsoft.com/"
TARGET="_top"
>August Software</A
> Corporation.  </P
></DD
><DT
>Inline <SPAN
CLASS="SYSTEMITEM"
>ODBC</SPAN
> driver</DT
><DD
><P
>Based on <SPAN
CLASS="SYSTEMITEM"
>libtds</SPAN
>, this is a native <SPAN
CLASS="SYSTEMITEM"
>ODBC</SPAN
> driver for i386 *nix. It is free in price, but comes only as a binary at the present time.</P
></DD
><DT
>DBD::Proxy</DT
><DD
><P
>We have no direct experience with this Perl-only option.  It has the same caveats as an <SPAN
CLASS="SYSTEMITEM"
>ODBC</SPAN
> bridge except it's free.</P
></DD
></DL
></DIV
></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="freetdshistory.htm"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.htm"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="build.htm"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>History of <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="what.htm"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Build <SPAN
CLASS="PRODUCTNAME"
>FreeTDS</SPAN
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>