Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.280.143 Times

DBD::ODBC 1.14

  Date Added: January 26, 2010  |  Visits: 1.078

DBD::ODBC

Report Broken Link
Printer Friendly Version


Product Homepage
Download (104 downloads)



DBD::ODBC Perl module contains a ODBC Driver for DBI. SYNOPSIS use DBI; $dbh = DBI->connect(dbi:ODBC:DSN, user, password); Private DBD::ODBC Attributes odbc_more_results (applies to statement handle only!) Use this attribute to determine if there are more result sets available. SQL Server supports this feature. Use this as follows: do { my @row; while (@row = $sth->fetchrow_array()) { # do stuff here } } while ($sth->{odbc_more_results}); Note that with multiple result sets and output parameters (i.e. using bind_param_inout, dont expect output parameters to be bound until ALL result sets have been retrieved. odbc_ignore_named_placeholders Use this if you have special needs (such as Oracle triggers, etc) where :new or :name mean something special and are not just place holder names You must then use ? for binding parameters. Example: $dbh->{odbc_ignore_named_placeholders} = 1; $dbh->do("create trigger foo as if :new.x <> :old.x then ... etc"); Without this, DBD::ODBC will think :new and :old are placeholders for binding and get confused. odbc_default_bind_type This value defaults to 0. Older versions of DBD::ODBC assumed that the binding type was 12 (SQL_VARCHAR). Newer versions default to 0, which means that DBD::ODBC will attempt to query the driver via SQLDescribeParam to determine the correct type. If the driver doesnt support SQLDescribeParam, then DBD::ODBC falls back to using SQL_VARCHAR as the default, unless overridden by bind_param() odbc_force_rebind This is to handle special cases, especially when using multiple result sets. Set this before execute to "force" DBD::ODBC to re-obtain the result sets number of columns and column types for each execute. Especially useful for calling stored procedures which may return different result sets each execute. The only performance penalty is during execute(), but I didnt want to incur that penalty for all circumstances. It is probably fairly rare that this occurs. This attribute will be automatically set when multiple result sets are triggered. Most people shouldnt have to worry about this. odbc_async_exec Allow asynchronous execution of queries. Right now, this causes a spin-loop (with a small "sleep") until the SQL is complete. This is useful, however, if you want the error handling and asynchronous messages (see the err_handler) below. See t/20SQLServer.t for an example of this. odbc_exec_direct Force DBD::ODBC to use SQLExecDirect instead of SQLPrepare() then SQLExecute. There are drivers that only support SQLExecDirect and the DBD::ODBC do() override doesnt allow returning result sets. Therefore, the way to do this now is to set the attributed odbc_exec_direct. There are currently two ways to get this: $dbh->prepare($sql, { odbc_exec_direct => 1}); and $dbh->{odbc_exec_direct} = 1; When $dbh->prepare() is called with the attribute "ExecDirect" set to a non-zero value dbd_st_prepare do NOT call SQLPrepare, but set the sth flag odbc_exec_direct to 1. odbc_err_handler Allow errors to be handled by the application. A call-back function supplied by the application to handle or ignore messages. If the error handler returns 0, the error is ignored, otherwise the error is passed through the normal DBI error handling structure(s). This can also be used for procedures under MS SQL Server (Sybase too, probably) to obtain messages from system procedures such as DBCC. Check t/20SQLServer.t and mytest/testerrhandler.pl The callback function takes three parameters: the SQLState, the ErrorMessage and the native server error. odbc_SQL_ROWSET_SIZE Here is the information from the original patch, however, Ive learned since from other sources that this could/has caused SQL Server to "lock up". Please use at your own risk! 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 shouldnt affect > DBD::ODBC operations directly in any way. > > Andrew > SQL_DRIVER_ODBC_VER This, while available via get_info() is captured here. I may get rid of this as I only used it for debugging purposes. odbc_cursortype (applies to connect only!) This allows multiple concurrent statements on SQL*Server. In your connect, add { odbc_cursortype => 2 }. If you are using DBI > 1.41, you should also be able to use { odbc_cursortype => DBI::SQL_CURSOR_DYNAMIC } instead. For example: my $dbh = DBI->connect("dbi:ODBC:$DSN", $user, $pass, { RaiseError => 1, odbc_cursortype => 2}); my $sth = $dbh->prepare("one statement"); my $sth2 = $dbh->prepare("two statement"); $sth->execute; my @row; while (@row = $sth->fetchrow_array) { $sth2->execute($row[0]); } See t/20SqlServer.t for an example. odbc_query_timeout This allows the end user to set a timeout for queries on the ODBC side. After your connect, add { odbc_query_timeout => 30 } or set on the dbh before executing the statement. The default is 0, no timeout. Note that some drivers may not support this attribute. See t/20SqlServer.t for an example. odbc_has_unicode (applies to database handle only) A read-only attribute signifying whether DBD::ODBC was built with the C macro WITH_UNICODE or not. A value of 1 indicates DBD::ODBC was built with WITH_UNICODE else the value returned is 0. Building WITH_UNICODE affects columns and parameters which are SQL_C_WCHAR, SQL_WCHAR, SQL_WVARCHAR, and SQL_WLONGVARCHAR. When odbc_has_unicode is 1, DBD::ODBC will: bind columns the database declares as wide characters as SQL_Wxxx This means that UNICODE data stored in these columns will be returned to Perl in UTF-8 and with the UTF8 flag set. bind parameters the database declares as wide characters as SQL_Wxxx Parameters bound where the database declares the parameter as being a wide character (or where the parameter type is explicitly set to a wide type - SQL_Wxxx) can be UTF8 in Perl and will be mapped to UTF16 before passing to the driver. NOTE: You will need at least Perl 5.8.1 to use UNICODE with DBD::ODBC. NOTE: At this time SQL statements are still treated as native encoding i.e. DBD::ODBC does not call SQLPrepareW with UNICODE strings. If you need a unicode constant in an SQL statement, you have to pass it as parameter or use SQL functions to convert your constant from native encoding to Unicode. NOTE: Binding of unicode output parameters is coded but untested. NOTE: When building DBD::ODBC on Windows ($^O eq MSWin32) the WITH_UNICODE macro is automatically added. To disable specify -nou as an argument to Makefile.PL (e.g. nmake Makefile.PL -nou). On non-Windows platforms the WITH_UNICODE macro is not enabled by default and to enable you need to specify the -u argument to Makefile.PL. Please bare in mind that some ODBC drivers do not support SQL_Wxxx columns or parameters. UNICODE support in ODBC Drivers differs considerably. Please read the README.unicode file for further details. odbc_version (applies to connect only!) This was added prior to the move to ODBC 3.x to allow the caller to "force" ODBC 3.0 compatibility. Its probably not as useful now, but it allowed get_info and get_type_info to return correct/updated information that ODBC 2.x didnt permit/provide. Since DBD::ODBC is now 3.x, this can be used to force 2.x behavior via something like: my $dbh = DBI->connect("dbi:ODBC:$DSN", $user, $pass, { odbc_version => 2});.

Requirements: No special requirements
Platforms: Linux
Keyword: Dbd Dbdodbc Driver Note Odbc Driver Odbc Perl Parameters Perl Module Result Result Sets Rowset Sets Size Sql Unicode
Users rating: 0/10

License: Freeware Size: 122.88 KB
USER REVIEWS
More Reviews or Write Review


DBD::ODBC RELATED
Libraries  -  Data::FormValidator::Constraints 4.40
Data::FormValidator::Constraints is a Perl module with basic sets of constraints on input profile. SYNOPSIS use Data::FormValidator::Constraints qw(:all); In an Data::FormValidator profile: constraint_methods => { email => email(), fax =>...
88.06 KB  
Libraries  -  Alien Perl module 0.91
Alien Perl module package contains external libraries wrapped up for your viewing pleasure! SYNOPSIS perldoc Alien; Alien is a package that exists just to hold together an idea, the idea of Alien:: packages, so there is no code here, just...
10.24 KB  
Libraries  -  OpenGeoDB Perl module 0.4
OpenGeDB Perl module is a module to access the OpenGeoDB database and calculate all ZIP codes in a certain radius..
3.07 KB  
Network & Internet  -  MyCMS perl module 1.0
MyCMS perl module provides the MN::CMS Perl module used by the MyCMS. MyCMS perl module contains Perl object classes to manage the data of MyCMS (such as articles, links, and images). MN::CMS is a perl module that allows you to manage an...
16.38 KB  
Libraries  -  Sprite 3.21
Sprite is a Perl module to manipulate text delimited databases using SQL. SYNOPSIS use Sprite; $rdb = new Sprite; $rdb->set_delimiter (-Read => ::) ## OR: (Read, ::); $rdb->set_delimiter (-Write => ::) ## OR: (Write, ::); $rdb->set_os...
14.34 KB  
Libraries  -  Encode::HanExtra 0.10
Encode::HanExtra Perl module contains extra sets of Chinese encodings. SYNOPSIS use Encode; # Traditional Chinese $euc_tw = encode("euc-tw", $utf8); # loads Encode::HanExtra implicitly $utf8 = decode("euc-tw", $euc_tw); # ditto #...
1.3 MB  
Libraries  -  Devel::DumpSizes 0.01
Devel::DumpSizes is a Perl module to dump the name and size in bytes (in increasing order) of variables that are available at a give point in a script. SYNOPSIS use Devel::DumpSizes qw/dump_sizes/; &Devel::DumpSizes::dump_sizes(); Or,...
3.07 KB  
Libraries  -  List::MRU 0.04
List::MRU is a Perl module that implements a simple fixed-size MRU-ordered list. SYNOPSIS use List::MRU; # Constructor $lm = List::MRU->new(max => 20); # Constructor with explicit eq subroutine for obj equality tests $lm =...
4.1 KB  
Libraries  -  Convert::Number::Digits 0.03
Convert::Number::Digits is a Perl module that convert Digits Between the Scripts of Unicode. SYNOPSIS use utf8; require Convert::Number::Digits; my $number = 12345; my $d = new Convert::Number::Digits ( $number ); print "$number => ",...
5.12 KB  
Libraries  -  DBIx::MyParse 0.88
DBIx::MyParse is a Perl module that provides access to the MySQL SQL parser..
86.02 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB