ID: 48539
Comment by: tilo at levante dot de
Reported By: frase at cs dot wisc dot edu
Status: Open
Bug Type: PDO related
Operating System: *
PHP Version: 5.2.10, 5.3.0RC4
New Comment:
The following patch solved the issue in version 5.2.10
These three lines were added from version 5.2.9 to 5.2.10.
I use a ms sql 7 server, maybe this server is not able th set the
TEXTLIMIT to the given value.
Greetings
tilo
--- ext/pdo_dblib/dblib_driver.c.orig 2009-03-20 23:14:17.000000000
+0100
+++ ext/pdo_dblib/dblib_driver.c 2009-06-28 01:50:50.000000000 +0200
@@ -230,9 +230,9 @@
goto cleanup;
}
- if (DBSETOPT(H->link, DBTEXTLIMIT, "2147483647") == FAIL) {
- goto cleanup;
- }
+// if (DBSETOPT(H->link, DBTEXTLIMIT, "2147483647") == FAIL) {
+// goto cleanup;
+// }
if (vars[3].optval && FAIL == dbuse(H->link, vars[3].optval)) {
goto cleanup;
Previous Comments:
------------------------------------------------------------------------
[2009-06-25 16:57:52] nicholas dot j dot miller at gmail dot com
Our development team is seeing this problem in 5.2.10 as well.
------------------------------------------------------------------------
[2009-06-19 16:58:52] thomas dot parrott at jellyfish dot co dot uk
This issue appears to be in 5.2.10 as well.
------------------------------------------------------------------------
[2009-06-19 13:40:03] frase at cs dot wisc dot edu
This problem remains in RC4.
------------------------------------------------------------------------
[2009-06-12 19:59:51] frase at cs dot wisc dot edu
Description:
------------
I have compiled PHP 5.3.0RC3 from source as a module for Apache 2.2.11,
and I cannot open a connection to an MSSQL server using PDO's dblib
(FreeTDS) driver. Instead, I get a PDOException with no SQLSTATE code
or message.
The sample code below works in PHP 5.2.6 (as packaged for Jaunty).
Non-PDO MSSQL connections work ("mssql_connect()").
PDO MySQL connections also work ("PDO('mysql:...')").
"phpinfo()" confirms that the PDO extension is loaded, with dblib and
mysql drivers. The pdo_dblib section confirms that it is using
FreeTDS.
There is no change by compiling the extensions (mssql, pdo, pdo_dblib)
as external shared modules or built-in to libphp5.so.
Reproduce code:
---------------
<?php
header('Content-type: text/plain');
try {
$db = new PDO('dblib:host=myhost;dbname=mydb', 'myuser', 'mypass') or
die("failed to connect");
$result = $db->query('select count(1) from mytable') or die ("failed
to query database");
echo "got ".($result->fetchColumn())." rows\n";
$result->closeCursor() or die("failed to free resultset");
$db = null;
} catch (Exception $e) {
echo $e;
}
Expected result:
----------------
got (some-number) rows
Actual result:
--------------
exception 'PDOException' with message 'SQLSTATE[] (null) (severity 0)'
in /home/user/htdocs/test-pdo.php:5
Stack trace:
#0 /home/user/htdocs/test-pdo.php(5):
PDO->__construct('dblib:host=myho...', 'myuser', 'mypass')
#1 {main}
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=48539&edit=1