DBD::ASAny -- an Adaptive Server Anywhere interface for Perl 5.
Portions Copyright (c) 1994,1995,1996 Tim Bunce Portions Copyright (c) 1996-2006 iAnywhere Solutions, Inc.
For license information, please see license.txt included in this distribution.
BEFORE BUILDING, TESTING AND INSTALLING this you will need to:
Build, test and install Perl 5 (at least 5.6.0 is recommended). It is very important to test it and install it!
Build, test and install the DBI module (at least DBI 1.34 is recommended). It is very important to test it and install it!
An ASA client installation is required for building and deploying.
An ASA server install is recommended for building otherwise the "make test" portion of the build will fail.
Remember to read the DBI README file!
[ Solaris, AIX, HP-UX, Linux, etc. ]
source config.sh (or config.csh) from the ASA installation
perl Makefile.PL
make
copy asademo.db from the ASA installation directory
to the current directory
make test
make install
On Win32:
[ requires Microsoft C and ActiveState's ActivePerl
(www.activestate.com) ]
NOTE: ActivePerl 5.6.0 build 616 or later is required.
perl Makefile.PL
nmake
copy asademo.db from the ASA installation directory
to the current directory
nmake test
nmake install
Do NOT hand edit the generated Makefile unless you are completely sure you understand the implications! Always try to make changes via the Makefile.PL command line and/or editing the Makefile.PL.
If you are not familiar with ASA connection parameters, please refer to the ASA documentation.
$dbh = DBI->connect( 'DBI:ASAny:ENG=asademo;UID=dba;PWD=sql', '', '' );
If the second parameter is nonblank, it is assumed to be a user name and UID=parameter2 will be appended to the ASA connection string.
Similarly, if the third parameter is nonblank, it is assumed to be a password and PWD=parameter3 will be appended to the ASA connection string.
The following is equivalent to the example above:
$dbh = DBI->connect( 'DBI:ASAny:ENG=asademo', 'dba', 'sql' );
2. The ASA DBD driver is thread-safe when using Perl ithreads.
3. Prepared statements are not dropped from the ASA server until the
statement handle is destroyed in the perl script. Calling finish() is not sufficient to drop the handle that the server is holding onto -- use "undef" instead or reuse the same perl variable for another handle. To help detect handle leaks in client applications, ASA by default limits the number of prepared statements and cursors that any connection can hold at one time to 50 of each. If that limit is exceeded, a "Resource governor ... exceeded" error is reported. If you encounter this error, make sure you are dropping all of your statement handles and, if so, consult the ASA documentation for the MAX_CURSOR_COUNT and MAX_STATEMENT_COUNT options. Be careful when using prepare_cached() since the cache will hold onto statement handles.
Examples can be found in the 'eg' directory: connect.pl -> Demonstrates a simple connect. retrieve.pl -> Demonstrates retrieving data from a table and displaying the result set. blobs.pl -> Demonstrates the use of blobs
For further examples, consult the test scripts located in the 't' directory.