Native API’s will generally
offer the most power, e.g., Oracle OCI.
But take a lot of effort to learn and use.
Knowledge is rarely portable to other APIs
Generic application language
interfaces: ODBC and JDBC.
Still lots of effort to learn
Knowledge is portable to other APIs
Power is dependant on quality of ODBC driver
Pre-compilers for C (where SQL
is embedded in C and ‘precompiled’)
Simpler than a raw C API but typically less power. Hard
to debug.
Command line access -
Just type it in!
Generate SQL from scripts etc.
Not robust - hard to check for and respond to errors
Script Languages
TCL (oratcl, sybtcl) generally
much slower. Binary data hard.
Win32::ODBC - a bottom-up
approach - thin layer over raw ODBC calls. DBI is higher level but DBD::ODBC
doesn’t yet have the same breadth of ODBC specific functionality. Recommended
for existing users and people who need that degree of control.
DBI+DBD::ODBC can run over twice as
fast as Win32::ODBC.
Sybase - and other database specific
perl extensions
Can gain some performance advantage if well written but
loose out on the DBI extras: portable apps & knowledge, tools, subclasses
etc.