This is Win32::SqlServer, a module for calling Microsoft SQL Server from Perl
through OLE DB.
Copyright © 2004-2016 Erland Sommarskog.
All rights reserved.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
Win32::SqlServer is a module that permits you to access SQL Server from Perl, by
using any of the OLE DB providers SQLOLEDB or SQL Server Native Client.
two levels of interface, a high-level interface and a mid-level interface. The
mid-level interface exposes a few more knobs at the price of somewhat more
verbose code. A special feature of Win32::SqlServer is the fine-grained control
of error handling.
There is no support for DBI. This module does not
run on Unix – or any other non-Windows OS for that matter.
What's in This Kit
This is the source-only distribution for CPAN,
and do not include any binaries for Win32::SqlServer. If you want a binary distribution
(for x86 or AMD64) please visit
To run Win32::SqlServer you need:
- Perl 5.12 or later.
- Windows 2000 and later versions of Windows.
- SQL Server 7 or later. Note that I have not run any tests against Windows Azure SQL Database.
- MDAC 2.6 or SQL
Server Native Client.
For details, see the Prerequisites
section in the Win32::SqlServer manual.
If you need support for SQL Server 6.5 or Perl 5.8 or 5.10, you can use version 2.008 of Win32::SqlServer, as I have dropped support for these version in later versions of Win32::SqlServer.
Prerequisites for building, see below under Building from
The manual is in Win32-SqlServer.html.
There is a POD file as well, but there is no real contents in it, only a
pointer to the HTML file.
Reporting Bugs or Problems
Please mail bug reports and suggestions to
firstname.lastname@example.org. Try to make your reports as specific as possible.
Particularly do not forget to include which versions of Perl, Windows, SQL Server
etc you are using.
I usually try to respond within 24-48 hours, but if I am on holiday I am.
To build Win32::SqlServer you need:
- The Platform SDK for Windows, more
precisely, the Core SDK and the MDAC SDK.
The Platform SDK comes with Visual Studio. You can
also download the
Windows SDK for Windows Server 2008 and .NET Framework 3.5.
(The link is the current as of this writing. Microsoft often twitches things
around, so you have to search for it.)
- The SDK (header files and link libraries) for SQL Server Native client that
comes with SQL 2012. (The SDK for SQL 2008 or earlier will not do.)
- Perl 5.12 or later.
A C++ compiler, preferably Visual C++ 8.0 or later. (The C++ compiler that
comes with Visual Studio 6 will not work.) If you don't have
Visual Studio, the Windows SDK (see above), comes with one.
- A make facility. Microsoft's NMAKE also
comes with the Windows SDK.
If you want to try with a different compiler than VC++, for instance GNU CC, you are welcome to try, but it is useless to ask me for advice, because that is way outside my comfort zone. But if you are able to get it to work, I will be interested in your modified makefile.pl. Note that your Perl must be configured for the same compiler as you build Win32::SqlServer with.
How to Build and Install
Text in this type face indicates command you run from the command
- Extract the zip file anywhere you like.
- Edit makefile.pl so that
$SQLDIR points to where sqlncli.h is
- If you use a different compiler from Visual C++, you need to review
makefile.pl more closely as makefile.pl may include options that are specific to Visual C++.
- Note that makefile.pl explicitly lists which libraries to link with,
and specifies the MT flag for the C compiler. This is to force use of the
static C run-time library for Visual C++, which is what I want for the binary
distribution. Change this if you like.
- Open a Command Prompt, and change directory to where you extracted the
- Perl makefile.pl.
Or NMAKE, DMAKE or whatever your
MAKE utility you use.
- MAKE test
Before you run the tests, please read
so that you understand what impact the test scripts have on your server. This
document also describes how to set the environment variable
which the test scripts get information how to log into SQL Server.
- MAKE install
Last updated 16-07-12 15:32