DBD-ODBC
view release on metacpan or search on metacpan
Removed some dead HTTP links in the pod I could not find equivalents for
- let me know if you have working replacements for ones removed
Add some HTTP links to useful tutorials on DBD::ODBC
1.13 2004-11-08
Fix inconsistency/bug with odbc_exec_direct vs. odbc_execdirect
settings. Now made consistent with odbc_exec_direct. For now, will
still look for odbc_execdirect in prepare, but not as DBH attribute as a
backup (which is what it was doing), but that support will be dropped at
some time in the future. Please use odbc_exec_direct from now on...
Fix handling of print statements for SQL Server thanks to Martin Evans!
Thanks for all your work on this!
Due to bug in SQL Server, you must use odbc_exec_direct. See
t/20SqlServer.t for example. You will need to call
$sth->{odbc_more_results} to clear out any trailing messages.
Change tests to use Test::More. Whew, that's much nicer!
Fix Oracle integral/numeric output params so that warning not printed
about value not being numeric (even though it is!)
1.12 2004-10-26
Fix bug with odbc_execdirect attributed thanks to Martin Evans
Fix bug(s) with odbc_query_timeout and tested with SQL*Server. Oracle
tests failed with setting timeout. Probably not handled by Oracle's
ODBC driver
1.11 2004-10-11
Added odbc_timeout, but untested
1.10 2004-09-08
Fixed bug in Makefile.PL.
Added pod.t test, taken from DBI.
Fixed various small POD issues, discovered during the pod test.
Fixed bug in bind_param_inout
1.09 2004-03-10
Duh. I forgot to add new dbivport.h to MANIFEST and SVN before
submitting. Fixed.
1.08 2004-03-06
Added check in Makefile.PL to detect if the environment variable LANG is
Set. If so, prints a warning about potential makefile generation
issues.
Change to use dbivport.h per new DBI spec.
Add ability to set the cursor type during the connect. This may allow
some servers which do not support multiple concurrent statements to
permit them -- tested with SQL Server. Thanks to Martin Busik! See
odbc_cursortype information in the ODBC POD.
1.07 2004-02-19
Added to Subversion version control hosted by perl.org. Thanks Robert!
See ODBC.pm POD for more information.
Added contributing section to ODBC.pm POD -- see more details there!
Added parameter to odbc_errhandler for the NativeError -- thanks to
Martin Busik.
Fix for Makefile.PL not having tab in front of $(NOOP) (Finally).
Fix for SQLForeignKeys thanks to Kevin Shepherd.
1.06 2003-06-19
Fixed test in t/02simple.t to skip if the DSN defined by the user has
DSN= in it.
Added tests for wrong DSN, ensuring the DBI::errstr is appropriately
set.
Fixed small issue in Makefile.PL for Unix systems thanks to H.Merijn
Brand.
Update to NOT copy user id and password to connect string if UID or PWD
parameter in connect string.
Updated Makefile.PL for dmake, per patch by Steffen Goldner. Thanks
Steffen!
1.05 2003-03-14
Cleaned up Makefile.PL and added Informix support thanks to Jonathan
Leffler (see README.informix)
Added nicer error message when attempting to do anything while the
database is disconnected.
Fixed fetchrow_hashref('NAME_uc | NAME_lc') with odbc_more_results.
Added exporter to allow perl -MDBD::ODBC=9999 command line to determine
version
Fixed for building with DBI 1.33 and greater
Removed all C++ style comments
Ensured files are in Unix format, with the exception of the README type
information and Makefile.PL
1.04 2003-01-24
It seems that case insensitive string comparison with a limit causes
problems for multiple platforms. strncmpi, strncasecmp, _strcmpin are
all functions hit and it seems to be a hit-or-miss. Hence, I rewrote it
to upper case the string then do strncmp, which should be safe...sheesh.
A simple thing turned into a headache...
time/date correctly. Use at your own risk!
Fix to dbdimp.c to allow quoted identifiers to begin/end with either "
or '. The following will not be treated as if they have a bind
placeholder:
"isEstimated?"
'01-JAN-1987 00:00:00'
'Does anyone insert a ?'
0.32 2002-01-22
More SAP patches to Makfile.PL to eliminate the call to Data Sources
A patch to the test (for SAP and potentially others), to allow fallback
to SQL_TYPE_DATE in the tests
0.31 2002-01-18
Added SAP patches to build directly against SAP driver instead of driver
manager thanks to Flemming Frandsen (thanks!)
Added support to fix ping for Oracle8. May break other databases, so
please report this as soon as possible. The downside is that we need to
actually execute the dummy query.
0.30 2002-01-08
Added ping patch for Solid courtesy of Marko Asplund
Updated disconnect to rollback if autocommit is not on. This should
silence some errors when disconnecting.
Updated SQL_ROWSET_SIZE attribute. Needed to force it to
odbc_SQL_ROWSET_SIZE to obey the DBI rules.
Added odbc_SQL_DRIVER_ODBC_VER, which obtains the version of the Driver
upon connect. This internal capture of the version is a read-only
attribute and is used during array binding of parameters.
Added odbc_ignore_named_placeholders attribute to facilicate creating
triggers within SAPDB and Oracle, to name two. The syntax in these DBs
is to allow use of :old and :new to access column values before and
after updates. Example:
$dbh->{odbc_ignore_named_placeholders} = 1;
# set it for all future statements
# ignores :foo, :new, etc, but not :1 or ?
$dbh->do("create or replace etc :new.D = sysdate etc");
0.29 2001-08-22
Cygwin patches from Neil Lunn (untested by me). Thanks Neil!
SQL_ROWSET_SIZE attribute patch from Andrew Brown
There are only 2 additional lines allowing for the setting of
SQL_ROWSET_SIZE as db handle option.
The purpose to my madness is simple. SqlServer (7 anyway) by default
supports only one select statement at once (using std ODBC cursors).
According to the SqlServer documentation you can alter the default
setting of three values to force the use of server cursors - in which
case multiple selects are possible.
The code change allows for:
$dbh->{SQL_ROWSET_SIZE} = 2; # Any value > 1
For this very purpose.
The setting of SQL_ROWSET_SIZE only affects the extended fetch command
as far as I can work out and thus setting this option shouldn't affect
DBD::ODBC operations directly in any way.
Andrew
VMS and other patches from Martin Evans (thanks!)
[1] a fix for Makefile.PL to build DBD::ODBC on OpenVMS.
[2] fix trace message coredumping after SQLDriverConnect
[3] fix call to SQLCancel which fails to pass the statement handle
properly.
[4] consume diagnostics after SQLDriverConnect/SQLConnect call or they
remain until the next error occurs and it then looks confusing (this
is due to ODBC spec for SQLError). e.g. test 02simple returns a data
truncated error only now instead of all the informational diags that
are left from the connect call, like the "database changed", "language
changed" messages you get from MS SQL Server.
Replaced C++ style comments with C style to support more platforms more
easily.
Fixed bug which use the single quote (') instead of a double quote (")
for "literal" column names. This helped when having a colon (:) in the
column name.
Fixed bug which would cause DBD::ODBC to core-dump (crash) if DBI
tracing level was greater than 3.
Fixed problem where ODBC.pm would have "use of uninitialized variable"
if calling DBI's type_info.
Fixed problem where ODBC.xs *may* have an overrun when calling
SQLDataSources.
Fixed problem with DBI 1.14, where fprintf was being called instead of
PerlIO_printf for debug information
Fixed problem building with unixODBC per patch from Nick Gorham
Added ability to bind_param_inout() via patches from Jeremy Cooper.
Haven't figured out a good, non-db specific way to test. My current
test platform attempts to determine the connected database type via ugly
hacks and will test, if it thinks it can. Feel free to patch and send
me something...Also, my current Oracle ODBC driver fails miserably and
dies.
Updated t/02simple.t to not print an error, when there is not one.
0.28 2000-03-23
Added support for SQLSpecialColumns thanks to patch provided by Martin
J. Evans
( run in 0.772 second using v1.01-cache-2.11-cpan-5837b0d9d2c )