The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DBIx::SQLEngine::Driver::MSSQL - Support Microsoft SQL Server via DBD::ODBC

SYNOPSIS

DBI Wrapper: Adds methods to a DBI database handle.

  my $sqldb = DBIx::SQLEngine->new( 'dbi:odbc:mycnxn' );
  

Portability Subclasses: Uses driver's idioms or emulation.

  $hash_ary = $sqldb->fetch_select( 
    table => 'students' 
    limit => 5, offset => 10
  );

DESCRIPTION

This package provides a subclass of DBIx::SQLEngine which compensates for Microsoft SQL Server's idiosyncrasies.

Under Development

Note: this driver class has been added recently and not yet tested in real-world conditions.

About Driver Subclasses

You do not need to use this package directly; when you connect to a database, the SQLEngine object is automatically re-blessed in to the appropriate subclass.

FETCHING DATA (SQL DQL)

Methods Used By Complex Queries

sql_limit()

Adds support for SQL select limit clause.

EDITING DATA (SQL DML)

Insert to Add Data

do_insert_with_sequence()
  $sqldb->do_insert_with_sequence( $sequence_name, %sql_clauses ) : $row_count

Implemented using _seq_do_insert_postfetch and seq_fetch_current.

seq_fetch_current
  $sqldb->seq_fetch_current( ) : $current_value

Implemented using MS SQL's "select @@IDENTITY". Note that this doesn't fetch the current sequence value for a given table, since it doesn't respect the table and field arguments, but merely returns the last sequencial value created during this session.

DEFINING STRUCTURES (SQL DDL)

Create and Drop Tables

dbms_create_column_types()
  $sqldb->dbms_create_column_types () : %column_type_codes

Implemented using MS SQL's blob and int types.

dbms_create_column_text_long_type
  $sqldb->dbms_create_column_text_long_type () : $col_type_str

Implemented using MS SQL's blob type.

INTERNAL STATEMENT METHODS (DBI STH)

Statement Handle Lifecycle

prepare_execute()

After the normal prepare_execute cycle, this also sets the sth's LongReadLen to dbms_longreadlen_bufsize().

dbms_longreadlen_bufsize()

Set to 1_000_000.

recoverable_query_exceptions

  $sqldb->recoverable_query_exceptions() : @common_error_messages

Provides a list of error messages which represent common communication failures or other incidental errors.

SEE ALSO

See DBIx::SQLEngine for the overall interface and developer documentation.

See DBIx::SQLEngine::Docs::ReadMe for general information about this distribution, including installation and license information.