The mssql extension comes in two different versions on Win32 systems. php_mssql.dll and php_pdo_mssql.dll are compiled and linked with ntwdblib from Microsoft php_dblib.dll and php_pdo_dblib.dll are compiled and linked with FreeTDS. The FreeTDS versions uses a more recent version of the protocol and allows handling of unicode data as well as removing the 255 char limit on char and varchar columns. - Frank > Does ADOdb MSSQL driver solve this problem whereas the standard mssql_* > functions don't? I thought ADOdb was just an abstraction layer, but > perhaps there are some different mechanisms or settings it uses that > resolve the issue I'm having? > > ________________________________ > > From: Aspen Olmsted [mailto:aspen.olmsted@xxxxxxxxxxxx] > Sent: Monday, October 09, 2006 12:55 PM > To: Mike Matz; php-windows@xxxxxxxxxxxxx > Subject: re: SPAM-LOW: Unicode data w/ PDO DBLIB, MSSQL > > > I think I have reported the problem you are having with the odbc and pdo > and sql server under bug 38834. > http://bugs.php.net/bug.php?id=38834 > > It should up to me with large columns of text but my guess is the same. > > As a temporary solution I am using adodb with sql server but there is a > bug with time zones which I have a modified version of adbdb if you want > it. > > Aspen Olmsted > Alliance Software Corporation > 17 Pitt St > Charleston SC, 29401 > aspen.olmsted@xxxxxxxxxxxx > > > ________________________________ > > From: "Mike Matz" <mmatz@xxxxxxxxxxxxx> > Sent: Monday, October 09, 2006 12:48 PM > To: php-windows@xxxxxxxxxxxxx > Subject: SPAM-LOW: Unicode data w/ PDO DBLIB, MSSQL > > Is there currently any way to retrieve Unicode data from SQL Server? > I'm working with SQL Server Express 2005, on a database that's been > restored from an old SQL Server 2000 database. I'm writing a PHP script > that imports data from the MSSQL database, processes it, and adds it to > a MySQL database with a different schema. So far I've been unable to do > this reliably, as there is a lot of multilingual, Unicode data in the > MSSQL database. I'm trying to use the PDO method of database access, > but could fall back on another method if this is impossible. I'm able > to connect to my database using either ODBC or DBLIB MSSQL drivers. > When using DBLIB, I get an error: > > $db = new PDO('mssql:host=\\\\.\pipe\sql\query;dbname=my_db', $user, > $pass); > $sth = $db->execute("SELECT * FROM Products"); > $sth->execute(); > print_r($sth->fetchAll()); > > gives me this exception: > > Fatal error: Uncaught exception 'PDOException' with message > 'SQLSTATE[HY000]: General error: 10007 Unicode data in a Unicode-only > collation or ntext data cannot be sent to clients using DB-Library (such > as ISQL) or ODBC version 3.7 or earlier. [10007] (severity 5) [(null)]' > > When using ODBC, I get very strange results. There are no errors or > exceptions, but in every row, all columns following the first > text/unicode column will be empty. For example, if I SELECT Product_ID, > Short_Description, Product_Season (Short_Description being TEXT, > possibly with unicode), Product_Season will be empty. However, if I > SELECT Product_ID, Product_Season, Short_Description -- I'll get the > Product_Season. Short_Description is empty in both cases (even if it's > not empty when viewing with SQL Query Analyzer). > > Has anyone seen this behavior or have any ideas as to what I should try? > > Thanks, > Mike > > > > -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php