4.1.6 Windows/Linux

@Hadis-Fard Hadis-Fard released this Feb 4, 2017 · 4 commits to master since this release

Updated PECL release packages. Here is the list of updates:

Added

  • Merged Linux and Windows code.
  • Enabled connection pooling with unixODBC. To enable pooling:

Fixed

  • Fixed issues with sqlsrv_has_rows() to prevent it from moving statement cursor (issue #37).
  • Fixed sqlsrv client buffer size to only allow positive integers (issue #228).
  • Fixed PECL installation errors when PHP was installed from source (issue #213).
  • Fixed segmentation fault with PDOStatement::getColumnMeta() when the supplied column index is out of range (issue #224).
  • Fixed the assertion error (Linux) when fetching data from a binary column using the binary encoding (issue #226).

Known Issues

  • The following features are not supported with connection pooling in Linux:
    • Unicode connection strings
    • sqlsrv_server_info and sqlsrv_client_info return false
    • In certain scenarios a generic error message maybe returned instead of a specific error when pooling is disabled
    • When retrieving data from columns with a data type of XML, varchar(max), nvarchar(max), or varbinary(max) no data maybe returned or the data maybe truncated depending on the length of the data in the source table.

Install

  • On Linux run the commands below:

    sudo pecl install sqlsrv-4.1.6.1
    sudo pecl install pdo_sqlsrv-4.1.6.1

  • On windows, download the DLLs from SQLSRV or PDO_SQLSRV PECL repository

Downloads

4.1.5 Windows Preview

@Hadis-Fard Hadis-Fard released this Jan 19, 2017 · 7 commits to PHP-7.0 since this release

Windows drivers (4.1.5) compiled with PHP 7.0.14 and 7.1 are available. Here is the list of updates:

Added

Fixed

  • Fixed issue output parameters bound to empty string (issue #182).
  • Fixed issue with SQLSRV_ATTR_FETCHES_NUMERIC_TYPE when column return type is set on statement (issue #173).

Changed

  • Code structure is updated to facilitate the development; shared codes between both drivers are moved to "shared" folder to avoid code duplication issues in development. To build the driver from source:
    • if you are building the driver from source using PHP source, copy the "shared" folder as a subfolder to both the sqlsrv and pdo_sqlsrv folders.

Thanks,
SQL Server Team

Downloads

Production Release for the PHP Linux Driver for SQL Server

@Hadis-Fard Hadis-Fard released this Dec 19, 2016 · 71 commits to PHP-7.0-Linux since this release

We are excited to announce that production release of Linux drivers is available for Ubuntu 15.04, Ubuntu 16.04, and RedHat 7. Here is the list of updates:

Added

  • Added SQLSRV_ATTR_FETCHES_NUMERIC_TYPE attribute support in PDO_SQLSRV driver.SQLSRV_ATTR_FETCHES_NUMERIC_TYPE connection attribute flag handles numeric fetches from columns with numeric Sql types (only bit, integer, smallint, tinyint, float and real). This flag can be turned on by setting its value in PDO::setAttribute to true, For example,
    $conn->setAttribute(PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE,true);
    If SQLSRV_ATTR_FETCHES_NUMERIC_TYPE is set to true the results from an integer column will be represented as an int, likewise, Sql types float and real will be represented as float.
    Note for exceptions:
    • When connection option flag ATTR_STRINGIFY_FETCHES is on, even when SQLSRV_ATTR_FETCHES_NUMERIC_TYPE is on, the return value will still be string.
    • When the returned PDO type in bind column is PDO_PARAM_INT, the return value from a integer column will be int even if SQLSRV_ATTR_FETCHES_NUMERIC_TYPE is off.
  • Added Unicode Column name support(issue #138).

Fixed

  • Fixed issue with SQLSRV_ATTR_FETCHES_NUMERIC_TYPE when column return type is set on statement (issue #173).
  • Fixed precision issues when double data type returned as strings using buffered queries in PDO_SQLSRV driver.
  • Fixed issue with buffered cursor in PDO_SQLSRV driver when CharacterSet is UTF-8 (issue #192).
  • Fixed segmentation fault in error cases when error message is returned with emulate prepare attribute is set to true in PDO_SQLSRV driver.
  • Fixed issue with empty output parameters on stored procedure(issue #182).
  • Fixed memory leaks in buffered queries.

Limitations & Known issues

  • This release contains the PHP 7 port of the SQLSRV and PDO_SQLSRV drivers on Linux, and does not provide backwards compatibility with PHP 5.
  • Connection using named instances using '' is not supported.
  • Local encodings other than UTF-8 are not supported, and SQLSRV_ENC_CHAR only supports ASCII characters with ASCII code of 0 to 127.
  • Connection pooling in PDO_SQLSRV is not supported.
  • Binary column binding with emulate prepare (issue#140)

Thanks,
SQL Server Team

Downloads

4.0.7-Linux-Preview

@Hadis-Fard Hadis-Fard released this Nov 23, 2016 · 112 commits to PHP-7.0-Linux since this release

We are excited to announce that PECL packages for Linux SQLSRV and PDO_SQLSRV drivers (4.0.7) are available. You can also find pre-compiled binaries (4.0.7) with PHP 7.0.13 for Ubuntu 15.04, Ubuntu 16.04, and RedHat 7 here.

  • Fixed string truncation error when inserting long strings.
  • Fixed querying from large column name.
  • Fixed issue with trailing garbled characters in string retrieval.
  • Fixed issue with detecting invalid UTF-16 strings coming from server.
  • Fixed issues with binding input text, ntext, and image parameters.
  • Ported buffered cursor to Linux.
  • Note: SQLSRV_ENC_CHAR only supports ASCII characters (ASCII code 0 to127).

Thanks,
SQL Server Team

Downloads

4.0.6 - Linux - Preview

@meet-bhagdev meet-bhagdev released this Oct 18, 2016 · 123 commits to PHP-7.0-Linux since this release

We are excited to announce that PECL packages for Linux SQLSRV and PDO_SQLSRV drivers (4.0.6) are available. You can also find pre-compiled binaries (4.0.5) with PHP 7.0.12 for Ubuntu 15.04, Ubuntu 16.04, and RedHat 7 here.

  • Drivers versioning has been redesigned as Major#.Minor#.Release#.Build#. Build number is specific to binaries and it doesn't match with the number on the source.
  • Fixed the issue with duplicate warning messages in PDO_SQLSRV drivers when error mode is set to PDO::ERRMODE_WARNING.
  • Fixed the issue with invalid UTF-8 strings, those are detected before executing any queries and proper error message is returned.
  • Fixed segmentation fault in sqlsrv_fetch_object and sqlsrv_fetch_array function.
  • Compiler C++ 11 is enabled in config file.

Thanks,
SQL Server Team

Downloads

4.1.4 Windows Preview

@meet-bhagdev meet-bhagdev released this Oct 7, 2016 · 56 commits to PHP-7.0 since this release

Thanks to the community’s input, this release expands drivers functionalities. Updated Windows drivers include some bug fixes:

  • Drivers versioning has been redesigned as Major#.Minor#.Release#.Build#. Build number is specific to binaries and it doesn't match with the number on the source.
  • Fixed the issue with duplicate warning messages in PDO_SQLSRV drivers when error mode is set to PDO::ERRMODE_WARNING.

Thanks,
SQL Server Team

Downloads

4.1.3 - Windows - Preview

@meet-bhagdev meet-bhagdev released this Oct 3, 2016 · 57 commits to PHP-7.0 since this release

With this release we are excited to announce preview support for PHP 7.1 RC. This release also includes some bug fixes:

  • Fixed issue #139 : sqlsrv_fetch_object calls custom class constructor in static context and outputs an error.

Thanks,
SQL Server Engineering Team

Downloads

4.0.5 - Linux - Preview

@meet-bhagdev meet-bhagdev released this Oct 3, 2016 · 127 commits to PHP-7.0-Linux since this release

We are excited to announce that PECL packages for Linux SQLSRV and PDO_SQLSRV drivers (4.0.5) are available. You can also find pre-compiled binaries (4.0.5) with PHP 7.0.11 for Ubuntu 15.04, Ubuntu 16.04, and RedHat 7.2 here.

This release also includes the following fixes:

  • Fixed segmentation fault when calling PDOStatement::getColumnMeta on RedHat 7.2.
  • Fixed segmentation fault when fetch mode is set to ATTR_EMULATE_PREPARES on RedHat 7.2.
  • Fixed issue #139 : sqlsrv_fetch_object calls custom class constructor in static context and outputs an error.

Thanks,
SQL Server Engineering Team

Downloads

4.1.2 - Windows - Preview

@meet-bhagdev meet-bhagdev released this Sep 13, 2016 · 58 commits to PHP-7.0 since this release

Thanks to the community’s input, this release expands drivers functionalities. Updated Windows drivers include some bug fixes:

  • Fixed issue #119 (modifying class name in sqlsrv_fetch_object).

  • Added following integer SQL Types constants for cases which function-like SQL types constants cannot be used e.g. type comparison:

    SQLSRV constant Typical SQL Server data type SQL type identifier
    SQLSRV_SQLTYPE_DECIMAL decimal SQL_DECIMAL
    SQLSRV_SQLTYPE_NUMERIC numeric SQL_NUMERIC
    SQLSRV_SQLTYPE_CHAR char SQL_CHAR
    SQLSRV_SQLTYPE_NCHAR nchar SQL_WCHAR
    SQLSRV_SQLTYPE_VARCHAR varchar SQL_VARCHAR
    SQLSRV_SQLTYPE_NVARCHAR nvarchar SQL_WVARCHAR
    SQLSRV_SQLTYPE_BINARY binary SQL_BINARY
    SQLSRV_SQLTYPE_VARBINARY varbinary SQL_VARBINARY

    Note: These constants should be used in type comparison operations (refer to issue #87 and #99 ), and don't replace the function like constants with the similar syntax, for binding parameters you should use the function-like constants, otherwise you'll get an error.

Thanks,
SQL Server Engineering Team

Downloads

4.0.4 - Linux - Preview

@meet-bhagdev meet-bhagdev released this Sep 13, 2016 · 146 commits to PHP-7.0-Linux since this release

Thanks to the community’s input, this release expands drivers functionalities. Updated Linux drivers (4.0.4) compiled with PHP 7.0.10 are available for Ubuntu 15.04, Ubuntu 16.04, and RedHat 7.2. This release includes the following fixes:

  • Fixed undefined symbols at SQL* error when loading the drivers.

  • Fixed undefined symbol issues at LocalAlloc and LocalFree on RedHat7.2.

  • Fixed issue #144 (floating point exception).

  • Fixed issue #119 (modifying class name in sqlsrv_fetch_object).

  • Added support for EMULATE_PREPARE feature.

  • Added following integer SQL Types constants for cases which function-like SQL types constants cannot be used e.g. type comparison:

    SQLSRV constant Typical SQL Server data type SQL type identifier
    SQLSRV_SQLTYPE_DECIMAL decimal SQL_DECIMAL
    SQLSRV_SQLTYPE_NUMERIC numeric SQL_NUMERIC
    SQLSRV_SQLTYPE_CHAR char SQL_CHAR
    SQLSRV_SQLTYPE_NCHAR nchar SQL_WCHAR
    SQLSRV_SQLTYPE_VARCHAR varchar SQL_VARCHAR
    SQLSRV_SQLTYPE_NVARCHAR nvarchar SQL_WVARCHAR
    SQLSRV_SQLTYPE_BINARY binary SQL_BINARY
    SQLSRV_SQLTYPE_VARBINARY varbinary SQL_VARBINARY

    Note: These constants should be used in type comparison operations (refer to issue #87 and #99 ), and don't replace the function like constants with similar syntax. For binding parameters you should use the function-like constants, otherwise you'll get an error.

Thanks,
SQL Server Engineering Team

Downloads