Skip to Content.
Sympa Menu

freetds - Re: [freetds] Fwd: [unixODBC-support] PHP PDO unixODBC FreeTDS SQL Server text column size

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Jochen Daum <jd AT automatem.co.nz>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] Fwd: [unixODBC-support] PHP PDO unixODBC FreeTDS SQL Server text column size
  • Date: Tue, 25 Sep 2012 12:59:48 +1200

Ok,

>> I am investigating an issue whereby an empty column is returned for a
>> text field when using PHP PDO unixODBC FreeTDS SQL Server.
>
> To determine if the FreeTDS ODBC driver is able to process your query
> results, I recommend testing it with bsqlodbc. If that works, you can
> have some confidence that the driver works as expected. That is, as
> the authors intended.

When I run this query through bsqlodbc

select [Attachment].[attaContent] from [Attachment] where
([Attachment].[attaId] = 10239)

I get bsqlodbc: error -2: SQLAllocHandle: invalid handle: failed

> To get better information in situ, TDSDUMP is your friend.
>
>> I also seem to have no FreeTDS logging.
>
> I assume you've read the UG on the question. Make sure TDSDUMP is set
> before you start the process that uses ODBC. FreeTDS will honor
> TDSDUMP, definitely.
>
TDSDUMP shows this at the end of the log for the query above

token.c:555:processing result tokens. marker is 81(TDS7_RESULT)
token.c:1515:processing TDS7 result metadata.
mem.c:615:tds_free_all_results()
token.c:1540:set current_results (1 column) to tds->res_info
token.c:1547:setting up 1 columns
token.c:1486:tds7_get_data_info:
colname = attaContent (11 bytes)
type = 35 (text)
server's type = 35 (text)
column_varint_size = 4
column_size = 2147483647 (2147483647 on server)
token.c:1556: name size/wsize type/wtype utype
token.c:1557: -------------------- --------------- --------------- -------
token.c:1567: attaContent 2147483647/2147483647 35/35
0
util.c:156:Changed query state from READING to PENDING
odbc.c:3534:odbc_process_tokens: tds_process_tokens returned 1
odbc.c:3535: result_type=4049, TDS_DONE_COUNT=0, TDS_DONE_ERROR=2
odbc.c:3605:odbc_process_tokens: returning result_type 4049
odbc.c:3374:_SQLExecute: odbc_process_tokens returned result_type 4049
token.c:540:tds_process_tokens(0x8027e0, 0x7fff9589f4e8, 0x7fff9589f4ec,
0x6914)
util.c:156:Changed query state from PENDING to READING
token.c:555:processing result tokens. marker is d1(ROW)
token.c:666:tds_process_tokens::SET_RETURN stopping on current token
util.c:156:Changed query state from READING to PENDING
odbc.c:3534:odbc_process_tokens: tds_process_tokens returned 1
odbc.c:3535: result_type=4040, TDS_DONE_COUNT=0, TDS_DONE_ERROR=2
odbc.c:3605:odbc_process_tokens: returning result_type 4040


Any idea where to take it from here?

Kind Regards,

Jochen




Archive powered by MHonArc 2.6.24.

Top of Page