Bug #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
From: " Date: Thu, 04 Mar 2010 19:55:07 +0000 Subject: Bug #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field References: 1 Groups: php.bugs Request: Send a blank email to php-bugs+get-148270@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=38805&edit=1
ID: 38805
Comment by:
Reported by: gkrajci at arescorporation dot com
Summary: PDO Truncates Text from SQL Server Text Data Type
Field
Status: Assigned
Type: Bug
Package: PDO related
Operating System: Windows NT PBMA-WB2 5.2 build 37
PHP Version: 5.1.6
Assigned To: sfox
New Comment:
I solved this problem by adding to my php script a TEXTSIZE that is less
than the allowed memory from the MSSQL server.
Remember, all the number are in Bytes, so I kept playing with the
numbers, until this worked:
// ranges from 0 - 3145728 = 3Megabytes. Default to 4096.
$sql = "SET TEXTSIZE 3145728";
mssql_query($sql, $db) or die(mssql_get_last_message());
Remember to always know what the allowed upload size for your server
is.
I hope this helps someone
Previous Comments:
------------------------------------------------------------------------
[2010-02-12 16:57:02] sfox@php.net
Those changes are still in SVN. That means the TEXTLIMIT var is being
set to its highest possible value, which in turn means that truncation
shouldn't be an issue now.
$pdo->query('SET TEXTSIZE 300000');
should work from PHP 5.2.11 up, it just needs doccing.
------------------------------------------------------------------------
[2010-02-12 09:05:28] philipp at servicemail24 dot de
This problem is actually fixed in cvs:
http://www.mail-archive.com/php-cvs@lists.php.net/msg40731.html
http://www.mail-archive.com/php-cvs@lists.php.net/msg40711.html
Here is the working source code:
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_dblib/
I have no idea why these fixes aren't included in the 5.2 and 5.3
releases!
@sfox can you ensure that pdo_dblib is updated with the release of
5.2.13 and 5.3.2?
------------------------------------------------------------------------
[2010-02-11 15:40:43] philipp at servicemail24 dot de
php 5.3.2 dotdeb still suffers from this problem.
does this fix help?
"Possible fix: remove "case SQLTEXT" from
ext/pdo_dblib/dblib_stmt.c:execute and let it fall though to default."
------------------------------------------------------------------------
[2010-01-22 22:51:02] ssufficool at gmail dot com
I imagine the problem is that PDO DBLIB just mem-copies the first packet
of TEXT without calling dbgettext() to retrieve the remainder.
MSSQL handles TEXT fields using dbconvert() which may call dbgettext()
downstream.
Possible fix: remove "case SQLTEXT" from
ext/pdo_dblib/dblib_stmt.c:execute and let it fall though to default.
------------------------------------------------------------------------
[2010-01-10 23:22:50] kalle@php.net
Steph, does this need any additional changes to pdo_mssql/pdo_dblib? And
what exactly should be documented?
------------------------------------------------------------------------
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
http://bugs.php.net/bug.php?id=38805
--
Edit this bug report at http://bugs.php.net/bug.php?id=38805&edit=1
Thread (42 messages)
- #38805 [Opn->Asn]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Asn->Fbk]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Fbk]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Fbk->Opn]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Opn->Asn]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Asn]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Asn->Fbk]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Fbk]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Tbd->Asn]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- #38805 [Asn]: PDO Truncates Text from SQL Server Text Data Type Field
- Bug #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- Bug #38805 [Opn->]: PDO Truncates Text from SQL Server Text Data Type Field
- Bug #38805 [Opn->Csd]: PDO Truncates Text from SQL Server Text Data Type Field
- Bug #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- Bug #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
- Bug #38805 [Com]: PDO Truncates Text from SQL Server Text Data Type Field
| « previous | php.bugs (#148270) | next » |
|---|