==== SQL Relay ====

 SQL Relay is a powerful database connection management solution.
 
 [[Image(images/sqlrelay.png,nolink,float=left,margin-right=20px)]]
 [[br]][[br]][[br]]
 With SQL Relay, you can speed up and enhance the scalability of database-driven web-based applications, access databases from unsupported platforms, throttle database access, distribute load over clustered or replicated databases, route queries and migrate applications from one database to another.
 [[br]][[br]]

----

==== Advantages ====

 [features/connectionpooling.html Persistent Database Connection Pooling] - makes database-driven web-based applications faster and more efficient[[br]]
 [features/proxying.html Proxying] - provides access to databases from unsupported platforms[[br]]
 [features/throttling.html Throttling] - prevents databases from becoming overloaded[[br]]
 [features/ha.html High Availability] - provides load balancing and failover with replicated or clustered databases[[br]]
 [features/queryrouting.html Query Routing] - conditionally sends queries to one database or another[[br]]
 [features/queryfiltering.html Query Filtering] - prevents queries that match certain patterns from being run at all[[br]]
 [features/schedules.html Connection Schedules] - constrain database access to specified times[[br]]

 [features/databases.html Database Support] - a wide variety of commercial and open-source databases are supported[[br]]
 [features/dbabstractionlayers.html Abstraction Layer Support] - drivers for most popular database abstraction layers are provided[[br]]
 [features/dropinreplacementlibs.html Drop-In Replacement Libraries] - allow many native !MySQL or !PostgreSQL applications to use SQL Relay without modification[[br]]
 [features/languages.html Native API] - the powerful native SQL Relay client API supports a wide variety of programming languages[[br]]

 [features/substitutionandbindvars.html Substitution and Bind Variables] - make frequently run queries faster and more efficient[[br]]
 [features/multirowfetches.html Multi-Row Fetches] - reduce the number of network round-trips[[br]]
 [features/resultsetcaching.html Client-Side Result Set Caching] - makes paging faster and easier[[br]]
 [features/suspendedtx.html Suspended Transactions] - allow a single transaction to span multiple web pages[[br]]

@enterprise.wt@

----

[[br]]
{{{#!td
==== Administering SQL Relay ====

Guides and references for SQL Relay administration.

{{{#!td
 [admin/installing.html Building and Installing SQL Relay From Source][[br]]
 [admin/configguide.html SQL Relay Configuration Guide][[br]]
 [admin/configreference.html SQL Relay Configuration Reference][[br]]
 [admin/running.html SQL Relay Command Line Programs][[br]]
 [admin/tuning.html Tuning SQL Relay][[br]]
}}}
}}}
{{{#!td
<div style="margin-left: 56px;"/>
}}}
{{{#!td
==== Database How-To's ====

Getting-started guides for various databases supported by SQL Relay.

{{{#!td
 [http://systems.firstworks.com/p/getting-started-with-oracle.html Oracle][[br]]
 [http://systems.firstworks.com/p/getting.html SAP/Sybase][[br]]
 [http://systems.firstworks.com/p/getting-started-with-ibm-db2.html IBM DB2][[br]]
 [http://systems.firstworks.com/p/getting-started-with-mysql.html MySQL][[br]]
 [http://systems.firstworks.com/p/blog-page_51.html PostgreSQL][[br]]
}}}
{{{#!td
 [http://systems.firstworks.com/p/getting-started-with-firebird.html Firebird][[br]]
 [http://systems.firstworks.com/p/getting-started-with-sqlite.html SQLite][[br]]
 [http://systems.firstworks.com/p/blog-page_8.html MS Access (on non-MS platforms)][[br]]
 [http://systems.firstworks.com/p/blog-page_65.html ODBC (non-MS platforms)][[br]]
}}}
}}}

@enterpriseadmin.wt@

----

[[br]]
{{{#!td
==== Connectors ====

SQL Relay provides drivers for most popular database abstraction layers.

{{{#!td
 '''Guides''':[[br]]
 [programming/ado.net.html ADO.NET][[br]]
 [programming/perldbi.html Perl DBI][[br]]
 [programming/pythondb.html Python DB-API][[br]]
 [programming/phppdo.html PHP PDO][[br]]
 [programming/odbc.html ODBC][[br]]
 [programming/jdbc.html JDBC][[br]]
}}}
{{{#!td
 '''References''':[[br]]
 [api/ado.net/html/annotated.html ADO.NET][[br]]
 [api/perl/SQLRelay.html Perl DBI][[br]]
 [api/python/PySQLRDB.py.html Python DB-API][[br]]
}}}
}}}
{{{#!td
<div style="margin-left: 60px;"/>
}}}
{{{#!td
==== Native APIs ====

The native SQL Relay client APIs provide advanced features like suspended sessions, result set caching and tuning options.

{{{#!td
 '''Guides''':[[br]]
 [programming/c++.html C++][[br]]
 [programming/c.html C][[br]]
 [programming/cs.html C#][[br]]
 [programming/perl.html Perl][[br]]
 [programming/php.html PHP][[br]]
 [programming/python.html Python][[br]]
 [programming/ruby.html Ruby][[br]]
 [programming/java.html Java][[br]]
 [programming/tcl.html TCL][[br]]
 [programming/erlang.html Erlang][[br]]
 [programming/nodejs.html node.js][[br]]
}}}
{{{#!td
 '''References''':[[br]]
 [api/c++/html/annotated.html C++][[br]]
 [api/c/html/group__sqlrclientwrapper.html C][[br]]
 [api/cs/html/annotated.html C#][[br]]
 [api/perl/perl.html Perl][[br]]
 [api/php/index.html PHP][[br]]
 [api/python/PySQLRClient.py.html Python][[br]]
 [api/ruby/doc/index.html Ruby][[br]]
 [api/java/index.html Java][[br]]
 [api/tcl/index.html TCL][[br]]
 [api/nodejs/html/annotated.html node.js][[br]]
}}}
}}}

==== Drop-In Replacement Libraries ====

Drop-In Replacement Libraries allow many native !MySQL or !PostgreSQL applications to use SQL Relay without modification.

 [dropin/mysql.html MySQL][[br]]
 [dropin/postgresql.html PostgreSQL][[br]]

----

==== Frequently Asked Questions ====

 [faq.html FAQ]
