Skip to content
  • v5.8.0
  • e7b5a88
  • Compare
    Choose a tag to compare
    Search for a tag
  • v5.8.0
  • e7b5a88
  • Compare
    Choose a tag to compare
    Search for a tag

@yitam yitam released this Jan 31, 2020 · 6 commits to dev since this release

We are pleased to announce the next production release of the Microsoft Drivers for PHP for SQL Server. The SQLSRV and PDO_SQLSRV drivers have been built with PHP 7.2, 7.3, and 7.4 and tested on all supported platforms.

Notable items about this release (5.8.0) since the last production release (5.6.0) include the following:

Added

Removed

  • Dropped support for PHP 7.1
  • Dropped support for SQL Server 2008 R2, macOS Sierra, Ubuntu 18.10 and Ubuntu 19.04.

Fixed

  • Issue #570 - Fixed fetching varbinary data using client buffer with sqlsrv
  • Pull Request #972 - Removed redundant calls to retrieve the number of columns or rows in the current query result set
  • Pull Request #978 - PDO_SQLSRV implementation of PDO::getColumnMeta now references cached metadata rather than making an ODBC call every time
  • Pull Request #979 - Added support for Data Classification Sensitivity metadata retrieval
  • Pull Request #985 - Fixed memory issues with Data Classification data structures
  • Issue #432 - Having any invalid UTF-8 name in the connection string will no longer invoke misleading error messages
  • Issue #909 - Fixed potential exception with locale issues in macOS
  • Pull Request #992 - Produced the correct error when requesting Data Classification metadata with ODBC drivers prior to 17
  • Pull Request #1001 - Fixed compilation issue with PHP 7.4 alpha
  • Pull Request #1004 - Fixed another compilation issue with PHP 7.4 alpha
  • Pull Request #1008 - Improved data caching when fetching datetime objects
  • Pull Request #1011 - Fixed a potential buffer overflow when parsing for escaped braces in the connection string
  • Pull Request #1015 - Fixed compilation issues and addressed various memory leaks detected by PHP 7.4 beta 1
  • Issue #1027 - Fixed how drivers handle query timeout settings
  • Pull Request #1049 - Performance improvement for fetching from tables with many columns - cached the derived php types with column metadata to streamline data retrieval
  • Pull Request #1068 - Some cosmetic changes to source code as per suggestions from a static analysis tool
  • Issue #1079 - Support sql_variant types when using client buffers

Limitations

  • No support for inout / output params when using sql_variant type
  • No support for inout / output params when formatting decimal values
  • In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
  • Always Encrypted requires MS ODBC Driver 17+
    • Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
    • Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
    • Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
    • Always Encrypted limitations
  • Alpine Linux support is currently experimental. More robust support will be added in future releases

Known Issues

  • In Alpine Linux, the Client-Side Cursors feature may cause an access violation if both sqlsrv and pdo_sqlsrv are enabled. Either enable only sqlsrv or pdo_sqlsrv, or build PHP from source by compiling the drivers statically.
  • Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
  • When pooling is enabled in Linux or macOS
    • unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
    • due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here

Survey

Let us know how we are doing and how you use our drivers by taking our pulse survey:

Install

  • On Linux and macOS run the commands below:
    sudo pecl install sqlsrv
    sudo pecl install pdo_sqlsrv
  • To download Windows DLLs for PHP 7.2 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.
Assets 38
Pre-release

@yitam yitam released this Dec 3, 2019 · 15 commits to dev since this release

We are pleased to announce the next preview release for the Microsoft PHP Drivers for SQL Server, version 5.7.1-preview. This preview release has been built with PHP 7.2+ and tested on all supported platforms.

Notable items about this release include:

Added

Removed

Fixed

  • Issue #1027 - Fixed how drivers handle query timeout settings
  • Pull Request #1049 - performance improvement for fetching from tables with many columns - cached the derived php types with column metadata to streamline data retrieval

Limitations

  • No support for inout / output params when using sql_variant type
  • No support for inout / output params when formatting decimal values
  • In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
  • Always Encrypted requires MS ODBC Driver 17+
    • Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
    • Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
    • Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
    • Always Encrypted limitations

Known Issues

  • Data Classification metadata retrieval requires ODBC Driver 17.4.2.1+ and SQL Server 2019
  • Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
  • When pooling is enabled in Linux or macOS
    • unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
    • due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here

Survey

Let us know how we are doing and how you use our drivers by taking our pulse survey:

Install

  • On Linux and macOS run the commands below:
    sudo pecl install sqlsrv-5.7.1preview
    sudo pecl install pdo_sqlsrv-5.7.1preview
  • To download Windows DLLs for PHP 7.2 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.
Assets 35
Pre-release

@david-puglielli david-puglielli released this Sep 5, 2019 · 6 commits to master since this release

We are pleased to announce the next preview release for the Microsoft PHP Drivers for SQL Server, version 5.7.0-preview. This preview release has been built with PHP 7.1+ and tested on all supported platforms.

Notable items about this release include:

Added

Removed

  • Dropped support for Ubuntu 18.10

Fixed

  • Issue #570 - Fixed fetching varbinary data using client buffer with sqlsrv
  • Pull Request #972 - Removed redundant calls to retrieve the number of columns or rows in the current query result set
  • Pull Request #978 - PDO_SQLSRV implementation of PDO::getColumnMeta now references cached metadata rather than making an ODBC call every time
  • Pull Request #979 - Added support for data classification Sensitivity metadata retrieval
  • Pull Request #985 - Fixed memory issues with data classification data structures
  • Issue #432 - Having any invalid UTF-8 name in the connection string will no longer invoke misleading error messages
  • Issue #909 - Fixed potential exception with locale issues in macOS
  • Pull Request #992 - Produced the correct error when requesting Data Classification metadata with ODBC drivers prior to 17
  • Pull Request #1001 - Fixed compilation issue with PHP 7.4 alpha
  • Pull Request #1004 - Fixed another compilation issue with PHP 7.4 alpha
  • Pull Request #1008 - Improved data caching when fetching datetime objects
  • Pull Request #1011 - Fixed a potential buffer overflow when parsing for escaped braces in the connection string
  • Pull Request #1015 - Fixed compilation issues and addressed various memory leaks detected by PHP 7.4 beta 1

Limitations

  • No support for inout / output params when using sql_variant type
  • No support for inout / output params when formatting decimal values
  • In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
  • Always Encrypted requires MS ODBC Driver 17+
    • Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
    • Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
    • Always Encrypted limitations

Known Issues

  • Data Classification metadata retrieval is not compatible with ODBC Driver 17.4.1
  • Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
  • When pooling is enabled in Linux or macOS
    • unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
    • due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here
  • With ColumnEncryption enabled, calling stored procedures with XML parameters does not work (Issue #674)

Survey

Let us know how we are doing and how you use our drivers by taking our pulse survey:

Install

  • On Linux and macOS run the commands below:
    sudo pecl install sqlsrv-5.7.0preview
    sudo pecl install pdo_sqlsrv-5.7.0preview
  • To download Windows DLLs for PHP 7.1 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.
Assets 38

@yitam yitam released this Mar 19, 2019 · 13 commits to master since this release

We are excited to announce the hotfix release of the Microsoft Drivers for PHP for SQL Server. The SQLSRV and PDO_SQLSRV drivers have been built with PHP 7.1, 7.2, and 7.3 and tested on all supported platforms.

Notable items about this release (5.6.1) since the last production release (5.6.0) include the following:

Fixed

  • Issue #937 - fixed assumptions made when calculating field or column metadata which may have resulted in application termination
  • Issue #955 - modified sqlsrv config file such that it can be compiled independently of pdo_sqlsrv
  • Pull Request #946 - fixed PDOStatement::getColumnMeta() to return false when something goes wrong

Limitations

  • No support for inout / output params when using sql_variant type
  • No support for inout / output params when formatting decimal values
  • In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
  • Always Encrypted requires MS ODBC Driver 17+
    • Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
    • Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
    • Always Encrypted limitations

Known Issues

  • Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
  • When pooling is enabled in Linux or macOS
    • unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
    • due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here
  • With ColumnEncryption enabled, calling stored procedures with XML parameters does not work (Issue #674)
  • In SUSE 15, Azure Active Directory connections may fail if PHP is installed from packages (Issue #934)

Survey

Let us know how we are doing and how you use our drivers by taking our pulse survey:

Install

On Linux and macOS run the commands below:

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

To download Windows DLLs for PHP 7.1 or above from the PECL repository, please go to the SQLSRV or PDO_SQLSRV PECL page.

Assets 32

@david-puglielli david-puglielli released this Feb 22, 2019 · 120 commits to dev since this release

We are pleased to announce the next production release of the Microsoft Drivers for PHP for SQL Server. The SQLSRV and PDO_SQLSRV drivers have been built with PHP 7.1, 7.2, and 7.3 and tested on all supported platforms.

Notable items about this release (5.6.0) since the last production release (5.3.0) include the following:

Added

  • Added support for PHP 7.3
  • Added support for Linux SUSE 15, Ubuntu 18.10 and macOS Mojave
  • Feature Request #415 - new options at connection and statement levels for both drivers for formatting decimal values in the fetched results
  • Added support for Azure AD Access Token (in Linux / macOS this requires MS ODBC Driver 17+ and unixODBC 2.3.6+)
  • Added support for Authentication with Azure Active Directory using Managed Identity for Azure Resources (requires MS ODBC Driver 17.3+)
  • Feature Request #842 - new PDO_STMT_OPTION_FETCHES_DATETIME_TYPE flag for pdo_sqlsrv to return datetime as objects
  • Feature Request #844 - add ReturnDatesAsStrings option to statement level for sqlsrv

Removed

  • Dropped support for Linux Ubuntu 17.10 and macOS El Capitan
  • Dropped support for PHP 7.0 - Version 5.3 is the last to support PHP 7.0.

Fixed

  • Issue #434 - To avoid possible crashes, before freeing stmt in the destructor check if its dbh driver data is NULL
  • Pull Request #833 - Streamlined the error handling to remove a potential cause of crash
  • Pull Request #836 - Modified the config files to enable Spectre Mitigations (use /Qspectre switch) for PHP 7.2 (see related Request #878)
  • Pull Request #854 - Clear Azure Key Vault data after connection attributes are successfully set or when exception is thrown
  • Pull Request #855 - Improved performance by saving meta data before fetching and skipping unnecessary conversions for numeric data
  • Pull Request #865 - Corrected the way SQLPutData and SQLParamData are used when sending stream data to the server
  • Pull Request #878 - Modified the config files to enable Spectre Mitigations for PHP 7.1 (see related Request #836)
  • Pull Request #891 - Improved performance of Unicode conversions
  • Pull Request #892 - Removed warning messages while compiling extensions
  • Pull Request #904 - Enabled compiling extensions statically into PHP
  • Pull Request #907 - Initialized output param buffer when allocating extra space
  • Pull Request #919 - Initialized a boolean variable before passing it by reference into a function that will modify its value

Limitations

  • No support for inout / output params when using sql_variant type
  • No support for inout / output params when formatting decimal values
  • In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
  • Always Encrypted requires MS ODBC Driver 17+
    • Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
    • Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
    • Always Encrypted limitations

Known Issues

  • Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
  • When pooling is enabled in Linux or macOS
    • unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
    • Due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here
  • With ColumnEncryption enabled, calling stored procedures with XML parameters does not work (Issue #674)
  • In SUSE 15, Azure Active Directory connections may fail if PHP is installed from package (Issue #934)

Survey

Let us know how we are doing and how you use our drivers by taking our pulse survey:

Install

On Linux and macOS run the commands below:

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

To download Windows DLLs for PHP 7.1 or above from the PECL repository, please go to the SQLSRV or PDO_SQLSRV PECL page.

Assets 32
Pre-release

@yitam yitam released this Dec 7, 2018 · 7 commits to master since this release

We are pleased to announce the technical preview for SQLSRV and PDO_SQLSRV drivers that support PHP 7.3. Both drivers have been built with PHP 7.1+ and tested on all supported platforms (Windows, Ubuntu 16.04, 18.04, and 18.10, RedHat 7, Debian 8 and 9, Suse 12, and macOS 10.11, 10.12, 10.13 and 10.14).

Notable items about the 5.5.0-preview release,

Added

  • Added support for PHP 7.3.0
  • Added support for Linux Ubuntu 18.10 and mac OS Mojave
  • Feature Request #415 - new options at connection and statement levels for both drivers for formatting decimal values in the fetched results

Fixed

  • Pull Request #854 - Clear Azure Key Vault data after connection attributes are successfully set or when exception is thrown
  • Pull Request #855 - Improved performance by saving meta data before fetching and skipping unnecessary conversions for numeric data
  • Pull Request #865 - Corrected the way SQLPutData and SQLParamData are used when sending stream data to the server
  • Pull Request #878 - Modified the config files to enable Spectre Mitigations for PHP 7.1 (see related Request #836)
  • Pull Request #891 - Improved performance of Unicode conversions
  • Pull Request #892 - Removed warning messages while compiling extensions

Limitations

  • No support for inout / output params when using sql_variant type
  • No support for inout / output params when formatting decimal values
  • In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
  • Always Encrypted requires MS ODBC Driver 17+
    • Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
    • Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
    • Always Encrypted limitations

Known Issues

  • Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
  • When pooling is enabled in Linux or macOS
    • unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
    • due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here
  • With ColumnEncryption enabled, calling stored procedures with XML parameters does not work (Issue #674)
  • With ColumnEncryption enabled, fetching varbinary(max), varchar(max) or nvarchar(max) may fail with ODBC Driver 17.3 CTP

Survey

Let us know how we are doing and how you use our drivers by taking our pulse survey:

Install

  • On Linux and macOS run the commands below:
    sudo pecl install sqlsrv-5.5.0preview
    sudo pecl install pdo_sqlsrv-5.5.0preview
  • To download Windows DLLs for PHP 7.1 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.
Assets 29
Pre-release

@yitam yitam released this Sep 24, 2018 · 162 commits to dev since this release

We are pleased to announce the technical preview for SQLSRV and PDO_SQLSRV drivers that support the Azure AD access token for Windows, Linux and macOS. Both drivers have been built with PHP 7.1+ and tested on all supported platforms (Windows, Ubuntu 16.04 and 18.04, RedHat 7, Debian 8 and 9, Suse 12, and macOS 10.11, 10.12, and 10.13).

Notable items about the 5.4.0-preview release,

Added

Removed

  • Dropped support for Ubuntu 17.10
  • Dropped support for PHP 7.0 - Version 5.3 is the last to support PHP 7.0.

Fixed

  • Issue #434 - To avoid the pitfall that could result in a crash, before freeing stmt in the destructor check if its dbh driver data is NULL
  • Pull Request #836 - Modified the config files to enable Spectre Mitigations (use /Qspectre switch) for PHP 7.2
  • Pull Request #833 - Streamlined the error handling to remove a potential cause of crash

Limitations

  • No support for inout / output params when using sql_variant type
  • In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
  • Always Encrypted requires MS ODBC Driver 17+
    • Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
    • Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
    • Always Encrypted limitations

Known Issues

  • Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
  • When pooling is enabled in Linux or macOS
    • unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
    • due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here
  • With ColumnEncryption enabled, calling stored procedures with XML parameters does not work (Issue #674)
  • With ColumnEncryption enabled, fetching varbinary(max), varchar(max) or nvarchar(max) may fail with ODBC Driver 17.3 CTP

Survey

Let us know how we are doing and how you use our drivers by taking our pulse survey:

Install

  • On Linux and macOS run the commands below:
    sudo pecl install sqlsrv-5.4.0preview
    sudo pecl install pdo_sqlsrv-5.4.0preview
  • To download Windows DLLs for PHP 7.1 or 7.2 from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV. The ones for PHP 7.3 can be found in SQLSRV or PDO_SQLSRV
Assets 26
Aug 15, 2018
The hotfix for 4.3.0 RTW

@david-puglielli david-puglielli released this Jul 20, 2018 · 190 commits to dev since this release

We are pleased to announce the production release of the Microsoft Drivers for PHP for SQL Server. The SQLSRV and PDO_SQLSRV drivers have been built with PHP 7.0, 7.1, and 7.2 and tested on all supported platforms.

Notable items about this release (5.3.0) since the last production release (5.2.0) include the following:

Added

  • Added support for Azure Key Vault for Always Encrypted functionality. Always Encrypted functionality is supported on Linux and macOS through Azure Key Vault
  • Added support for connection resiliency on Linux and macOS (requires version 17.2 or higher of the ODBC driver)
  • Added support for macOS High Sierra (requires version 17 or higher of the ODBC driver)
  • Added support for Ubuntu 18.04 (requires version 17.2 or higher of the ODBC driver)

Fixed

  • Issue #577 - Idle Connection Resiliency doesn't work with Column Encryption enabled connections (fixed in MS ODBC Driver 17.1)
  • Issue #678 - Idle Connection Resiliency doesn't work with Connection Pooling (fixed in MS ODBC Driver 17.1)
  • Issue #699 - Binding output parameters fails when the query in the stored procedure returns no data. The test case has been added to the test lab.
  • Issue #705 - Always Encrypted - Retrieving a negative decimal value (edge case) as output parameter causes truncation
  • Issue #706 - Always Encrypted - Cannot insert double with precision and scale (38, 38)
  • Issue #707 - Always Encrypted - Fetching decimals / numerics as output parameters bound to PDO::PARAM_BOOL or PDO::PARAM_INT returns floats, not integers
  • Issue #735 - Extended the buffer size for PDO::lastInsertId so that data types other than integers can be supported
  • Pull Request #759 - Removed the limitation of binding a binary as inout param as PDO::PARAM_STR with SQLSRV_ENCODING_BINARY
  • Pull Request #775 - Fixed the truncation problem for output params with SQL types specified as SQLSRV_SQLTYPE_DECIMAL or SQLSRV_SQLTYPE_NUMERIC

Limitations

  • No support for inout / output params when using sql_variant type
  • In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
  • Always Encrypted requires MS ODBC Driver 17+
    • Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not supported
    • Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
    • Always Encrypted limitations

Known Issues

  • Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.6
  • When pooling is enabled in Linux or macOS
    • unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
    • due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here
  • With ColumnEncryption enabled, calling stored procedures with XML parameters does not work (Issue #674)

Survey

Let us know how we are doing and how you use our drivers by taking our pulse survey:

Install

  • On Linux and macOS run the commands below:
    sudo pecl install sqlsrv
    sudo pecl install pdo_sqlsrv
  • Download Windows DLLs from SQLSRV or PDO_SQLSRV PECL repository.
Assets 29
Pre-release

@yitam yitam released this May 30, 2018 · 13 commits to master since this release

With excitement, we announce the technical preview for SQLSRV and PDO_SQLSRV drivers that support basic CRUD functionalities with the Always Encrypted feature for Windows, Linux and macOS. Both drivers have been built with PHP 7.0+ and tested on all supported platforms (Windows, Ubuntu 16.04 and 17.10, RedHat 7, Debian 8 and 9, Suse 12, and macOS 10.11, 10.12, and 10.13).

Notable items about the 5.2.1-preview release,

Added

  • Added support for Azure Key Vault for Always Encrypted for basic CRUD functionalities such that Always Encrypted feature is also available to Linux or macOS users
  • Added support for macOS High Sierra (requires MS ODBC Driver 17+)

Fixed

  • Issue #577 - Idle Connection Resiliency doesn't work with Column Encryption enabled connection
  • Issue #678 - Idle Connection Resiliency doesn't work with Connection Pooling bug
  • Issue #699 - Binding output parameter failed when the query in the stored procedure returned no data. The test case has been added to the test lab.
  • Issue #705 - AE - Retrieving a negative decimal value (edge case) as output parameter causes truncation
  • Issue #706 - AE - Cannot insert double with precision and scale (38, 38)
  • Issue #707 - AE - Fetching decimals / numerics as output parameters bound to PDO::PARAM_BOOL or PDO::PARAM_INT returns floats, not integers
  • Issue #735 - Extended the buffer size for PDO lastInsertId such that data types other than integers can be supported
  • Pull Request #759 - Removed the limitation of binding a binary as inout param as PDO::PARAM_STR with SQLSRV_ENCODING_BINARY
  • Pull Request #775 - Fixed the problem for output params with SQL types specified as SQLSRV_SQLTYPE_DECIMAL or SQLSRV_SQLTYPE_NUMERIC

Limitations

  • No support for inout / output params when using sql_variant type
  • In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connection will not work
  • Always Encrypted feature, which requires MS ODBC Driver 17+
    • only Windows Certificate Store and Azure Key Vault are supported
    • Issue #716 - With Always Encrypted feature enabled, Named Parameters in Sub Queries are not supported
    • Always Encrypted limitations

Known Issues

  • Connection pooling on Linux or macOS not recommended with unixODBC < 2.3.6
  • When pooling is enabled in Linux or macOS
    • unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostics information, such as error messages, warnings and informative messages
    • due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here
  • With ColumnEncryption enabled, calling stored procedures with XML parameters does not work (Issue #674)

Survey

Let us know how we are doing and how you use our drivers by taking our pulse survey:

Install

  • On Linux and macOS run the commands below:
    sudo pecl install sqlsrv-5.2.1preview
    sudo pecl install pdo_sqlsrv-5.2.1preview
  • Download Windows DLLs from SQLSRV or PDO_SQLSRV PECL repository.
Assets 26
You can’t perform that action at this time.