Merge pull request #814 from david-puglielli/odbc-172-update
Odbc 172 update for connres and appveyor
This commit is contained in:
commit
9479d03baf
|
@ -81,10 +81,10 @@ install:
|
|||
} Else {
|
||||
$env:PHP_VERSION=$env:PHP_MAJOR_VER + '.' + $env:PHP_MINOR_VER;
|
||||
}
|
||||
- echo Downloading MSODBCSQL 17.1
|
||||
- echo Downloading MSODBCSQL 17.2
|
||||
# AppVeyor build works are x64 VMs and 32-bit ODBC driver cannot be installed on it
|
||||
- ps: (new-object net.webclient).DownloadFile('https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/msodbcsql_17.1.0.1_x64.msi', 'c:\projects\msodbcsql_17.1.0.1_x64.msi')
|
||||
- cmd /c start /wait msiexec /i "c:\projects\msodbcsql_17.1.0.1_x64.msi" /q IACCEPTMSODBCSQLLICENSETERMS=YES ADDLOCAL=ALL
|
||||
- ps: (new-object net.webclient).DownloadFile('https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/en-US/msodbcsql_17.2.0.1_x64.msi', 'c:\projects\msodbcsql_17.2.0.1_x64.msi')
|
||||
- cmd /c start /wait msiexec /i "c:\projects\msodbcsql_17.2.0.1_x64.msi" /q IACCEPTMSODBCSQLLICENSETERMS=YES ADDLOCAL=ALL
|
||||
- echo Checking the version of MSODBCSQL
|
||||
- reg query "HKLM\SOFTWARE\ODBC\odbcinst.ini\ODBC Driver 17 for SQL Server"
|
||||
- dir %WINDIR%\System32\msodbcsql*.dll
|
||||
|
|
|
@ -7,7 +7,7 @@ do not need to be encrypted
|
|||
--ENV--
|
||||
PHPT_EXEC=true
|
||||
--SKIPIF--
|
||||
<?php require('skipif_unix.inc'); ?>
|
||||
<?php require('skipif_mid-refactor.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once("MsSetup.inc");
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
--TEST--
|
||||
Test new connection keyword ColumnEncryption
|
||||
--SKIPIF--
|
||||
<?php require('skipif_unix.inc'); ?>
|
||||
<?php require('skipif_mid-refactor.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once("MsSetup.inc");
|
||||
|
|
|
@ -208,18 +208,18 @@ unset($conn_break);
|
|||
|
||||
?>
|
||||
--EXPECTREGEX--
|
||||
Statement 1 successful.
|
||||
16 rows in result set.
|
||||
Statement 2 successful.
|
||||
9 rows in result set.
|
||||
Statement 3 successful.
|
||||
-1 rows in result set.
|
||||
Statement 4 successful.
|
||||
-1 rows in result set.
|
||||
Statement 5 successful.
|
||||
-1 rows in result set.
|
||||
Error executing statement 6.
|
||||
SQLSTATE\[08S02\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: An existing connection was forcibly closed by the remote host.
|
||||
Statement 7 successful.
|
||||
Error executing statement 8.
|
||||
SQLSTATE\[IMSSP\]: The connection cannot process this operation because there is a statement with pending results. To make the connection available for other queries, either fetch all results or cancel or free the statement. For more information, see the product documentation about the MultipleActiveResultSets connection option.
|
||||
Statement 1 successful\.
|
||||
16 rows in result set\.
|
||||
Statement 2 successful\.
|
||||
9 rows in result set\.
|
||||
Statement 3 successful\.
|
||||
-1 rows in result set\.
|
||||
Statement 4 successful\.
|
||||
-1 rows in result set\.
|
||||
Statement 5 successful\.
|
||||
-1 rows in result set\.
|
||||
Error executing statement 6\.
|
||||
SQLSTATE\[08S02\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: (An existing connection was forcibly closed by the remote host\.|Error code 0x20)
|
||||
Statement 7 successful\.
|
||||
Error executing statement 8\.
|
||||
SQLSTATE\[IMSSP\]: The connection cannot process this operation because there is a statement with pending results\. To make the connection available for other queries, either fetch all results or cancel or free the statement. For more information, see the product documentation about the MultipleActiveResultSets connection option.
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
--TEST--
|
||||
Test the connection resiliency keywords ConnectRetryCount and ConnectRetryInterval and their ranges of acceptable values
|
||||
--SKIPIF--
|
||||
<?php require('skipif_unix.inc');
|
||||
require('skipif_version_less_than_2k14.inc'); ?>
|
||||
<?php require('skipif_version_less_than_2k14.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once( "MsSetup.inc" );
|
||||
|
@ -70,15 +69,15 @@ catch( PDOException $e )
|
|||
Connected successfully on first attempt.
|
||||
Connected successfully on second attempt.
|
||||
Could not connect on third attempt.
|
||||
SQLSTATE\[08001\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
SQLSTATE\[08001\]: (\[unixODBC\]|)\[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
Could not connect on fourth attempt.
|
||||
SQLSTATE\[08001\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryInterval'
|
||||
SQLSTATE\[08001\]: (\[unixODBC\]|)\[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryInterval'
|
||||
Could not connect on fifth attempt.
|
||||
SQLSTATE\[08001\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
SQLSTATE\[08001\]: (\[unixODBC\]|)\[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
Could not connect on sixth attempt.
|
||||
SQLSTATE\[08001\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
SQLSTATE\[08001\]: (\[unixODBC\]|)\[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
Could not connect on seventh attempt.
|
||||
SQLSTATE\[08001\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryInterval'
|
||||
SQLSTATE\[08001\]: (\[unixODBC\]|)\[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryInterval'
|
||||
Could not connect on eighth attempt.
|
||||
SQLSTATE\[IMSSP\]: The DSN string ended unexpectedly.
|
||||
Could not connect on ninth attempt.
|
||||
|
|
|
@ -208,10 +208,10 @@ $conn_break = null;
|
|||
|
||||
?>
|
||||
--EXPECTREGEX--
|
||||
Statement 1 prepared.
|
||||
Statement 1 executed.
|
||||
Transaction begun.
|
||||
Transaction was committed.
|
||||
Transaction begun.
|
||||
SQLSTATE\[08S02\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: An existing connection was forcibly closed by the remote host.
|
||||
Statement 1 prepared\.
|
||||
Statement 1 executed\.
|
||||
Transaction begun\.
|
||||
Transaction was committed\.
|
||||
Transaction begun\.
|
||||
SQLSTATE\[08S02\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: (An existing connection was forcibly closed by the remote host\.|Error code 0x20)
|
||||
SQLSTATE\[08S01\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Communication link failure
|
||||
|
|
|
@ -83,6 +83,6 @@ DropTables( $server, $uid, $pwd, $tableName1, $tableName2 );
|
|||
|
||||
?>
|
||||
--EXPECTREGEX--
|
||||
Error executing statement 1.
|
||||
SQLSTATE\[08S02\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: An existing connection was forcibly closed by the remote host.
|
||||
Query successfully executed.
|
||||
Error executing statement 1\.
|
||||
SQLSTATE\[08S02\]: \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: (An existing connection was forcibly closed by the remote host\.|Error code 0x20)
|
||||
Query successfully executed\.
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
<?php
|
||||
if ( !( strtoupper( substr( php_uname( 's' ),0,3 ) ) === 'WIN' ) ) die( "Skip Test on windows only." );
|
||||
|
||||
if (!extension_loaded("pdo_sqlsrv")) {
|
||||
die("skip Extension not loaded");
|
||||
}
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
<?php
|
||||
if ( !( strtoupper( substr( php_uname( 's' ),0,3 ) ) === 'WIN' ) ) die( "Skip Test on windows only." );
|
||||
// For connection resiliency, must check that
|
||||
// 1. Either running Windows, or ODBC driver 17.2 or greater on unix
|
||||
// 2. Either SQL Server version is 2014 or greater, or using Azure
|
||||
|
||||
if (!extension_loaded("pdo_sqlsrv")) {
|
||||
die("skip Extension not loaded");
|
||||
}
|
||||
|
||||
$is_win = ( strtoupper( substr( php_uname( 's' ),0,3 ) ) === 'WIN' );
|
||||
|
||||
require_once( "MsSetup.inc" );
|
||||
|
||||
$conn = new PDO( "sqlsrv:server = $server ;", $uid, $pwd );
|
||||
|
@ -12,17 +16,30 @@ if ($conn === false) {
|
|||
die( "skip Could not connect during SKIPIF." );
|
||||
}
|
||||
|
||||
// Get SQL Server Version
|
||||
$stmt = $conn->query( "SELECT @@VERSION" );
|
||||
if ($stmt) {
|
||||
$ver_string = $stmt->fetch(PDO::FETCH_NUM)[0];
|
||||
} else {
|
||||
die( "skip Could not fetch SQL Server version during SKIPIF.");
|
||||
$msodbcsql_ver = $conn->getAttribute(PDO::ATTR_CLIENT_VERSION)["DriverVer"];
|
||||
$msodbcsql_maj = explode(".", $msodbcsql_ver)[0];
|
||||
$msodbcsql_min = explode(".", $msodbcsql_ver)[1];
|
||||
|
||||
if (!$is_win) {
|
||||
if ($msodbcsql_maj < 17 or $msodbcslq_min < 2) {
|
||||
die("skip Unsupported ODBC driver version");
|
||||
}
|
||||
}
|
||||
|
||||
$version = explode(' ', $ver_string);
|
||||
// Get SQL Server Version
|
||||
// Exclude this check if running on Azure
|
||||
if (!$daasMode) {
|
||||
$stmt = $conn->query( "SELECT @@VERSION" );
|
||||
if ($stmt) {
|
||||
$ver_string = $stmt->fetch(PDO::FETCH_NUM)[0];
|
||||
} else {
|
||||
die( "skip Could not fetch SQL Server version during SKIPIF.");
|
||||
}
|
||||
|
||||
if ($version[3] < '2014') {
|
||||
die("skip Wrong version of SQL Server, 2014 or later required");
|
||||
$version = explode(' ', $ver_string);
|
||||
|
||||
if ($version[3] < '2014') {
|
||||
die("skip Wrong version of SQL Server, 2014 or later required");
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
<?php
|
||||
if ( !( strtoupper( substr( php_uname( 's' ),0,3 ) ) === 'WIN' ) ) die( "Skip Test on windows only." );
|
||||
// For Azure ActiveDirectory, must check that
|
||||
// 1. Either running Windows, or ODBC driver 17 or greater on unix
|
||||
// 2. Either SQL Server version is 2016 or greater, or using Azure
|
||||
|
||||
if (!extension_loaded("pdo_sqlsrv")) {
|
||||
die("skip Extension not loaded");
|
||||
}
|
||||
|
||||
$is_win = ( strtoupper( substr( php_uname( 's' ),0,3 ) ) === 'WIN' );
|
||||
|
||||
require_once( "MsSetup.inc" );
|
||||
|
||||
$conn = new PDO( "sqlsrv:server = $server ;", $uid, $pwd );
|
||||
|
@ -12,17 +16,30 @@ if ($conn === false) {
|
|||
die( "skip Could not connect during SKIPIF." );
|
||||
}
|
||||
|
||||
// Get SQL Server Version
|
||||
$stmt = $conn->query( "SELECT @@VERSION" );
|
||||
if ($stmt) {
|
||||
$ver_string = $stmt->fetch(PDO::FETCH_NUM)[0];
|
||||
} else {
|
||||
die( "skip Could not fetch SQL Server version during SKIPIF.");
|
||||
$msodbcsql_ver = $conn->getAttribute(PDO::ATTR_CLIENT_VERSION)["DriverVer"];
|
||||
$msodbcsql_maj = explode(".", $msodbcsql_ver)[0];
|
||||
$msodbcsql_min = explode(".", $msodbcsql_ver)[1];
|
||||
|
||||
if (!$is_win) {
|
||||
if ($msodbcsql_maj < 17) {
|
||||
die("skip Unsupported ODBC driver version");
|
||||
}
|
||||
}
|
||||
|
||||
$version = explode(' ', $ver_string);
|
||||
// Get SQL Server Version
|
||||
// Exclude this check if running on Azure
|
||||
if (!$daasMode) {
|
||||
$stmt = $conn->query( "SELECT @@VERSION" );
|
||||
if ($stmt) {
|
||||
$ver_string = $stmt->fetch(PDO::FETCH_NUM)[0];
|
||||
} else {
|
||||
die( "skip Could not fetch SQL Server version during SKIPIF.");
|
||||
}
|
||||
|
||||
if ($version[3] < '2016') {
|
||||
die("skip Wrong version of SQL Server, 2016 or later required");
|
||||
$version = explode(' ', $ver_string);
|
||||
|
||||
if ($version[3] < '2016') {
|
||||
die("skip Wrong version of SQL Server, 2016 or later required");
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -217,20 +217,18 @@ Array
|
|||
\(
|
||||
\[0\] => 08S01
|
||||
\[SQLSTATE\] => 08S01
|
||||
\[1\] => 10054
|
||||
\[code\] => 10054
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: An existing connection was forcibly closed by the remote host.
|
||||
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: An existing connection was forcibly closed by the remote host.
|
||||
|
||||
\[1\] => (10054|104)
|
||||
\[code\] => (10054|104)
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: (An existing connection was forcibly closed by the remote host\.\n|Error code 0x68)
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: (An existing connection was forcibly closed by the remote host\.\n|Error code 0x68)
|
||||
\)
|
||||
|
||||
\[1\] => Array
|
||||
\(
|
||||
\[0\] => 08S01
|
||||
\[SQLSTATE\] => 08S01
|
||||
\[1\] => 10054
|
||||
\[code\] => 10054
|
||||
\[1\] => (10054|104)
|
||||
\[code\] => (10054|104)
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Communication link failure
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Communication link failure
|
||||
\)
|
||||
|
|
|
@ -3,8 +3,7 @@ Test the connection resiliency keywords
|
|||
--DESCRIPTION--
|
||||
Test the connection resiliency keywords ConnectRetryCount and ConnectRetryInterval and their ranges of acceptable values
|
||||
--SKIPIF--
|
||||
<?php require('skipif_unix.inc');
|
||||
require('skipif_version_less_than_2k14.inc'); ?>
|
||||
<?php require('skipif_version_less_than_2k14.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once( "MsSetup.inc" );
|
||||
|
@ -76,8 +75,8 @@ Array
|
|||
\[SQLSTATE\] => 08001
|
||||
\[1\] => 0
|
||||
\[code\] => 0
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
\[2\] => (\[unixODBC\]|)\[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
\[message\] => (\[unixODBC\]|)\[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
\)
|
||||
|
||||
\)
|
||||
|
@ -90,8 +89,8 @@ Array
|
|||
\[SQLSTATE\] => 08001
|
||||
\[1\] => 0
|
||||
\[code\] => 0
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryInterval'
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryInterval'
|
||||
\[2\] => (\[unixODBC\]|)\[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryInterval'
|
||||
\[message\] => (\[unixODBC\]|)\[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryInterval'
|
||||
\)
|
||||
|
||||
\)
|
||||
|
@ -104,8 +103,8 @@ Array
|
|||
\[SQLSTATE\] => 08001
|
||||
\[1\] => 0
|
||||
\[code\] => 0
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
\[2\] => (\[unixODBC\]|)\[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
\[message\] => (\[unixODBC\]|)\[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Invalid value specified for connection string attribute 'ConnectRetryCount'
|
||||
\)
|
||||
|
||||
\)
|
||||
|
|
|
@ -187,20 +187,18 @@ Array
|
|||
\(
|
||||
\[0\] => 08S02
|
||||
\[SQLSTATE\] => 08S02
|
||||
\[1\] => 10054
|
||||
\[code\] => 10054
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: An existing connection was forcibly closed by the remote host.
|
||||
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: An existing connection was forcibly closed by the remote host.
|
||||
|
||||
\[1\] => (10054|-1)
|
||||
\[code\] => (10054|-1)
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\](TCP Provider: An existing connection was forcibly closed by the remote host\.\n|SMux Provider: Physical connection is not usable \[xFFFFFFFF\]\. )
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\](TCP Provider: An existing connection was forcibly closed by the remote host\.\n|SMux Provider: Physical connection is not usable \[xFFFFFFFF\]\. )
|
||||
\)
|
||||
|
||||
\[1\] => Array
|
||||
\(
|
||||
\[0\] => 08S02
|
||||
\[SQLSTATE\] => 08S02
|
||||
\[1\] => 10054
|
||||
\[code\] => 10054
|
||||
\[1\] => (10054|-1)
|
||||
\[code\] => (10054|-1)
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Unable to open a logical session
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Unable to open a logical session
|
||||
\)
|
||||
|
|
|
@ -84,20 +84,18 @@ Array
|
|||
\(
|
||||
\[0\] => 08S01
|
||||
\[SQLSTATE\] => 08S01
|
||||
\[1\] => 10054
|
||||
\[code\] => 10054
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: An existing connection was forcibly closed by the remote host.
|
||||
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: An existing connection was forcibly closed by the remote host.
|
||||
|
||||
\[1\] => (10054|104)
|
||||
\[code\] => (10054|104)
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: (An existing connection was forcibly closed by the remote host\.\n|Error code 0x68)
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]TCP Provider: (An existing connection was forcibly closed by the remote host\.\n|Error code 0x68)
|
||||
\)
|
||||
|
||||
\[1\] => Array
|
||||
\(
|
||||
\[0\] => 08S01
|
||||
\[SQLSTATE\] => 08S01
|
||||
\[1\] => 10054
|
||||
\[code\] => 10054
|
||||
\[1\] => (10054|104)
|
||||
\[code\] => (10054|104)
|
||||
\[2\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Communication link failure
|
||||
\[message\] => \[Microsoft\]\[ODBC Driver 1[1-9] for SQL Server\]Communication link failure
|
||||
\)
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
<?php
|
||||
if ( !( strtoupper( substr( php_uname( 's' ),0,3 ) ) === 'WIN' ) ) die( "Skip Test on windows only." );
|
||||
|
||||
if (!extension_loaded("sqlsrv")) {
|
||||
die("skip Extension not loaded");
|
||||
}
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
<?php
|
||||
if ( !( strtoupper( substr( php_uname( 's' ),0,3 ) ) === 'WIN' ) ) die( "Skip Test on windows only." );
|
||||
// For connection resiliency, must check that
|
||||
// 1. Either SQL Server version is 2014 or greater, or using Azure;
|
||||
// 2. Either running Windows, or ODBC driver 17.2 or greater on unix
|
||||
|
||||
if (!extension_loaded("sqlsrv")) {
|
||||
die("skip Extension not loaded");
|
||||
}
|
||||
|
||||
$is_win = ( strtoupper( substr( php_uname( 's' ),0,3 ) ) === 'WIN' );
|
||||
|
||||
require_once( "MsSetup.inc" );
|
||||
|
||||
$connectionInfo = array( "UID"=>$userName, "PWD"=>$userPassword );
|
||||
|
@ -14,17 +18,30 @@ if ($conn === false) {
|
|||
die( "skip Could not connect during SKIPIF." );
|
||||
}
|
||||
|
||||
// Get SQL Server version
|
||||
$stmt = sqlsrv_query( $conn, "SELECT @@VERSION" );
|
||||
if (sqlsrv_fetch($stmt)) {
|
||||
$ver_string = sqlsrv_get_field( $stmt, 0 );
|
||||
} else {
|
||||
die("skip Could not fetch SQL Server version.");
|
||||
$msodbcsql_ver = sqlsrv_client_info($conn)["DriverVer"];
|
||||
$msodbcsql_maj = explode(".", $msodbcsql_ver)[0];
|
||||
$msodbcsql_min = explode(".", $msodbcsql_ver)[1];
|
||||
|
||||
if (!$is_win) {
|
||||
if ($msodbcsql_maj < 17 or $msodbcslq_min < 2) {
|
||||
die("skip Unsupported ODBC driver version");
|
||||
}
|
||||
}
|
||||
|
||||
$version = explode(' ', $ver_string);
|
||||
// Get SQL Server version
|
||||
// Exclude this check if running on Azure
|
||||
if (!$daasMode) {
|
||||
$stmt = sqlsrv_query( $conn, "SELECT @@VERSION" );
|
||||
if (sqlsrv_fetch($stmt)) {
|
||||
$ver_string = sqlsrv_get_field( $stmt, 0 );
|
||||
} else {
|
||||
die("skip Could not fetch SQL Server version.");
|
||||
}
|
||||
|
||||
if ($version[3] < '2014') {
|
||||
die("skip Wrong version of SQL Server, 2014 or later required");
|
||||
$version = explode(' ', $ver_string);
|
||||
|
||||
if ($version[3] < '2014') {
|
||||
die("skip Wrong version of SQL Server, 2014 or later required");
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
<?php
|
||||
if ( !( strtoupper( substr( php_uname( 's' ),0,3 ) ) === 'WIN' ) ) die( "Skip Test on windows only." );
|
||||
// For Azure ActiveDirectory, must check that
|
||||
// 1. Either running Windows, or ODBC driver 17 or greater on unix
|
||||
// 2. Either SQL Server version is 2016 or greater, or using Azure
|
||||
|
||||
if (!extension_loaded("sqlsrv")) {
|
||||
die("skip Extension not loaded");
|
||||
}
|
||||
|
||||
$is_win = ( strtoupper( substr( php_uname( 's' ),0,3 ) ) === 'WIN' );
|
||||
|
||||
require_once( "MsSetup.inc" );
|
||||
|
||||
$connectionInfo = array( "UID"=>$userName, "PWD"=>$userPassword );
|
||||
|
@ -14,17 +18,29 @@ if ($conn === false) {
|
|||
die( "skip Could not connect during SKIPIF." );
|
||||
}
|
||||
|
||||
// Get SQL Server version
|
||||
$stmt = sqlsrv_query( $conn, "SELECT @@VERSION" );
|
||||
if (sqlsrv_fetch($stmt)) {
|
||||
$ver_string = sqlsrv_get_field( $stmt, 0 );
|
||||
} else {
|
||||
die("skip Could not fetch SQL Server version.");
|
||||
$msodbcsql_ver = sqlsrv_client_info($conn)["DriverVer"];
|
||||
$msodbcsql_maj = explode(".", $msodbcsql_ver)[0];
|
||||
|
||||
if (!$is_win) {
|
||||
if ($msodbcsql_maj < 17) {
|
||||
die("skip Unsupported ODBC driver version");
|
||||
}
|
||||
}
|
||||
|
||||
$version = explode(' ', $ver_string);
|
||||
// Get SQL Server version
|
||||
// Exclude this check if running on Azure
|
||||
if (!$daasMode) {
|
||||
$stmt = sqlsrv_query( $conn, "SELECT @@VERSION" );
|
||||
if (sqlsrv_fetch($stmt)) {
|
||||
$ver_string = sqlsrv_get_field( $stmt, 0 );
|
||||
} else {
|
||||
die("skip Could not fetch SQL Server version.");
|
||||
}
|
||||
|
||||
if ($version[3] < '2016') {
|
||||
die("skip Wrong version of SQL Server, 2016 or later required");
|
||||
$version = explode(' ', $ver_string);
|
||||
|
||||
if ($version[3] < '2016') {
|
||||
die("skip Wrong version of SQL Server, 2016 or later required");
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
Loading…
Reference in a new issue