Bug #63638 [Com]: Cannot connect to SQL Server 2008 with PDO dblib
Edit report at https://bugs.php.net/bug.php?id=63638&edit=1
ID: 63638
Comment by: jwatson at fh dot org
Reported by: pmeunier at cybergeneration dot com
Summary: Cannot connect to SQL Server 2008 with PDO dblib
Status: Assigned
Type: Bug
Package: PDO related
Operating System: Linux Slackware 13
PHP Version: 5.4.9
Assigned To: laruence
Block user comment: N
Private report: N
New Comment:
A second pull request was submitted to merge to the PHP-5.4.13 branch, which is
the latest branch for PHP 5.4. The original pull request above was for master.
https://github.com/php/php-src/pull/308
Previous Comments:
------------------------------------------------------------------------
[2013-03-20 18:43:00] jwatson at fh dot org
A pull request was submitted with this patch. Please see the link below.
https://github.com/php/php-src/pull/306
------------------------------------------------------------------------
[2013-01-19 03:14:03] ssufficool@php.net
Looks like a Microsoft DBLIB versus FreeTDS issue. MS DBLIB requires the
parameter to be NULL (per MSDN, possibly incorrect docs) while FreeTDS does not
like the NULL parameter, thus I guess why I used "1" originally.
The patch from 1 to NULL should be reverted.
------------------------------------------------------------------------
[2012-12-07 16:37:58] wdmeldon at gmail dot com
I've tested this in SQL Server 2012, 2008 and 2005 with similar results. The
warnings do not always manifest however. I've noticed returning output will
prevent the warning as will calling other functions, but it's a crap shoot.
The connection seems to be fine and the data returned is as well, so more annoying
than anything else.
Running Ubuntu Server 12.04 with PHP 5.4.9.
------------------------------------------------------------------------
[2012-12-05 16:49:09] f dot marquis at of2m dot fr
same problem here, but only from time to time (not all connections are failing
like with pmeunier)
seems related to #63258
------------------------------------------------------------------------
[2012-11-28 21:43:00] pmeunier at cybergeneration dot com
We made a compare between the /ext/pdo_dblib/ php 5.4.7 and php 5.4.9 and found
only one file was changed. Line 318 in dblib_driver.c went from :
// In PHP 5.4.7
DBSETOPT(H->link, DBQUOTEDIDENT, 1);
To :
// In PHP 5.4.9
DBSETOPT(H->link, DBQUOTEDIDENT, NULL);
For fun, we tried to revert to passing 1 for the last parameter... and guess
what ? It worked. Since we don't actually understand what this function makes,
and why the parameter was changed, we don't find this solution very clean,
unless it is eventually confirmed by a PHP developper.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=63638
--
Edit this bug report at https://bugs.php.net/bug.php?id=63638&edit=1
Thread (8 messages)