[freetds] Column Aliasing with MS SQL Server
Frediano Ziglio
freddy77 at gmail.com
Tue Jul 21 03:26:54 EDT 2009
2009/7/21 James K. Lowden <jklowden at freetds.org>:
> Derek Parnell wrote:
>>
>> Before we could use column aliases for singular column names, for
>> instance, a query might be:
>>
>> SELECT Descr AS Description FROM SomeTable;
>>
>> Before, when calling odbc_fetch_array, we would get associative arrays
>> with the key names being "Description". However, now we get them called
>> "Descr".
>>
>> If I alter the query slightly to be
>> SELECT Descr + '' AS Description FROM SomeTable;
>>
>> then the key names are actually "Description", as we want.
>
> It really sounds like something local on your client, not in the FreeTDS
> or ODBC configuration, because isql works.
>
> I would use TDSDUMP to look at the data coming back from the server. I'm
> sure you'll see the string "Description" as UCS-2 in the metadata packet.
> Make sure you're using TDS 7.0 or higher.
>
> The other thing to try is DBI_TRACE (Perl, right?). If you set that to
> level 3 or 4, I think you'll see the individual ODBC function calls. If
> you can discover the name of the function returning "Descr", that might
> lead to something to look at more closely.
>
> HTH.
>
Mmm... I think LAMP is Linux Apache MySQL PHP. IMO you can use ODBC
trace. Probably PHP use wrong column information.
ODBC support a lot of informations about results. To support cursors
we added support for many of these informations.
freddy77
More information about the FreeTDS
mailing list