Re: ODBC and long text fields

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sunday 07 January 2007 8:26 pm, Jochem Maas wrote:

> > Now I'll be honest and say I don't quite follow what they're talking
> > about. I do not claim to be an ODBC guru, but SQLGetData is a lower-level
> > operation, SQL level or C level I don't know, but not something that
> > happens in PHP code as far as I am aware.  Are they saying there's a bug
> > in PHP's
> > odbc_fetch_row()?  Or is it a bug in their driver if it can't handle
> > whatever it is odbc_fetch_row() does internally?
> > Or should we be using odbc_result()
> > instead of odbc_fetch_row() if we're dealing with a text field rather
> > than a varchar or int?
>
> the way I read it odbc_result() is just an alternative way of doing what
> you do with odbc_fetch_row() - I can't see any reason why doing it with
> odbc_result() would suddenly make it work - nonetheless it might be worth
> trying it just to rule it out.
>
> with regard to wanting results returned in a 'named' fashion, does the new
> setup still not allow use of odbc_fetch_array() instead of
> odbc_fetch_row()? not that I see any logic in that solving the issue, again
> it might be worth trying to see if it does.

Honestly I've not tried.  (I also don't have the wrapper code in front of me 
at the moment. <g>)  That could be a nice thing to simplify for performance, 
but I suspect that if the problem is with odbc_fetch_row() then 
odbc_fetch_array() will have the same bug.

> I don't know much about MSSQL, or whether 'text' is an actual field type,
> but maybe this function offers a wayout?:
>
> 	http://php.net/manual/en/function.odbc-binmode.php

No, that looks like it's for binary data.  "Text" is a MS SQL field for 
huge-ass text fields, essentially similar to the MySQL field of the same name 
(at least at an API level).  We also tried playing with odbc_longreadlen() 
and setting MS SQL's TEXTSIZE and TEXTLENGTH parameters to no avail.

> are the php versions on the 2 systems you mention exactly the same? (you
> mention 5.1 and 5.1.6) this could be a clue to the problem.

It's either both 5.1.6 or 5.1.6 live and 5.1.4 devel.  (I don't recall what 
our exact version is atm.)  We're in the process of upgrading our server 
soon, and I'm not sure what it will have.  Probably 5.2, just to keep life 
interesting. :-)

> lastly I don't suppose that it possible for you to switch to using the
> MSSQL specific php extension? [http://php.net/mssql] it might offer a
> better/faster connection to the MSSQL server as well as making the issue go
> away.

I don't believe the client allows direct MSSQL connections.  Besides, the 
MSSQL functions still require an ODBC driver underneath, so if the problem is 
with the ODBC driver then that won't change anything.

-- 
Larry Garfield			AIM: LOLG42
larry@xxxxxxxxxxxxxxxx		ICQ: 6817012

"If nature has made any one thing less susceptible than all others of 
exclusive property, it is the action of the thinking power called an idea, 
which an individual may exclusively possess as long as he keeps it to 
himself; but the moment it is divulged, it forces itself into the possession 
of every one, and the receiver cannot dispossess himself of it."  -- Thomas 
Jefferson

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux