re: SPAM-LOW: [PHP-WIN] Unicode data w/ PDO DBLIB, MSSQL
am 09.10.2006 21:54:42 von Aspen Olmsted
------_SmarterMail_NextPart_7760657766201644
Content-Type: text/plain;
charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
I think I have reported the problem you are having with the odbc an=
d pdo and sql server under bug 38834.
http://bugs.php.net/bug.php?id=
=3D38834
It should up to me with large columns of text but my gu=
ess is the same.
As a temporary solution I am using adodb with s=
ql server but there is a bug with time zones which I have a modified versio=
n of adbdb if you want it.
Aspen Olmsted
Alliance Software =
Corporation
17 Pitt St
Charleston SC, 29401
aspen.olmsted@al=
liance.biz
-------------------------------------- --
=
From: "Mike Matz"
Sent: Monday, October 09, 2=
006 12:48 PM
To: php-windows@lists.php.net
Subject: SPAM-LOW: [PH=
P-WIN] Unicode data w/ PDO DBLIB, MSSQL
Is there currently any =
way to retrieve Unicode data from SQL Server?
I'm working with SQL Ser=
ver Express 2005, on a database that's been
restored from an old SQL S=
erver 2000 database. I'm writing a PHP script
that imports data from t=
he 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 th=
ere 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 o=
n another method if this is impossible. I'm able
to connect to my data=
base using either ODBC or DBLIB MSSQL drivers.
When using DBLIB, I get=
an error:
$db =3D new PDO('mssql:host=3D\\\\.\pipe\sql\query;db=
name=3Dmy_db', $user,
$pass);
$sth =3D $db->execute("SELECT * FRO=
M Products");
$sth->execute();
print_r($sth->fetchAl l());
=
gives me this exception:
Fatal error: Uncaught exception '=
PDOException' with message
'SQLSTATE[HY000]: General error: 10007 Unic=
ode data in a Unicode-only
collation or ntext data cannot be sent to c=
lients using DB-Library (such
as ISQL) or ODBC version 3.7 or earlier.=
[10007] (severity 5) [(null)]'
When using ODBC, I get very stra=
nge results. There are no errors or
exceptions, but in every row, all =
columns following the first
text/unicode column will be empty. For exa=
mple, if I SELECT Product_ID,
Short_Description, Product_Season (Short=
_Description being TEXT,
possibly with unicode), Product_Season will b=
e empty. However, if I
SELECT Product_ID, Product_Season, Short_Descri=
ption -- I'll get the
Product_Season. Short_Description is empty in bo=
th 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 s=
hould try?
Thanks,
Mike
------_SmarterMail_NextPart_7760657766201644--
Re: RE: SPAM-LOW: [PHP-WIN] Unicode data w/
am 10.10.2006 01:37:28 von frank
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@alliance.biz]
> Sent: Monday, October 09, 2006 12:55 PM
> To: Mike Matz; php-windows@lists.php.net
> Subject: re: SPAM-LOW: [PHP-WIN] 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@alliance.biz
>
>
> ________________________________
>
> From: "Mike Matz"
> Sent: Monday, October 09, 2006 12:48 PM
> To: php-windows@lists.php.net
> Subject: SPAM-LOW: [PHP-WIN] 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