Re: SQL Server version and TDS Version

Vinh Nguyen <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
On Tue, Apr 20, 2010 at 12:33 PM,  <[email protected]> wrote:
> Vinh Nguyen wrote:
>> Issuing your command with tds version 8.0 specified I get:
>> config.c:202:         server_charset = iso_1
>> config.c:216:         client_charset = ISO-8859-1
>>
>> When I specify "client charset = UTF-8" in my .freetds.conf file, I get:
>>
>> config.c:479:   client charset = 'UTF-8'
>> config.c:526:tds_config_login: client charset is UTF-8.
>> config.c:202:         server_charset = iso_1
>> config.c:216:         client_charset = UTF-8
>>
>> However, with this, when I use tsql I get:
>>
>> locale is "en_US.utf-8"
>> locale charset is "utf-8"
>> Default database being set to IBADataDictionary
>> Msg 20017, Level 9, State -1, Server OpenClient, Line -1
>> Unexpected EOF from the server
>
> Yes, that's what I meant.  :-/
>
> I think there might be a bug.  I have a Mac but I won't be able
> to look at it for the next few days and I don't want you to
> wonder what happened.
>
> Please post the TDSDUMP log again now that you have that line in your

log.c:190:Starting log file for FreeTDS 0.82
	on 2010-04-20 14:24:24 with debug flags 0x4fff.
iconv.c:197:names for ISO-8859-1: ISO-8859-1
iconv.c:197:names for UTF-8: UTF-8
iconv.c:197:names for UCS-2LE: UCS-2LE
iconv.c:197:names for UCS-2BE: UCS-2BE
iconv.c:363:iconv to convert client-side data to the "utf-8" character set
iconv.c:432:tds_iconv_info_init: client charset name "" unrecognized
net.c:210:Connecting to CENSORED (TDS version 8.0)
net.c:264:tds_open_socket: connect(2) returned "Operation now in progress"
net.c:303:tds_open_socket() succeeded
util.c:162:Changed query state from DEAD to IDLE
login.c:735:quietly sending TDS 7+ login packet
token.c:312:tds_process_login_tokens()
util.c:334:tdserror(0x1002001d0, 0x1002007e0, 20017, 0)
util.c:368:tdserror: client library returned TDS_INT_CANCEL(2)
util.c:389:tdserror: returning TDS_INT_CANCEL(2)
util.c:162:Changed query state from IDLE to DEAD
token.c:316:looking for login token, got  0()
token.c:108:tds_process_default_tokens() marker is 0()
token.c:111:leaving tds_process_default_tokens() connection dead
util.c:334:tdserror(0x1002001d0, 0x1002007e0, 20002, 0)
util.c:368:tdserror: client library returned TDS_INT_CANCEL(2)
util.c:389:tdserror: returning TDS_INT_CANCEL(2)
mem.c:563:tds_free_all_results()

> freetds.conf.  Also the output of locale(1).
>

locale is "en_US.utf-8"
locale charset is "utf-8"


> tsql is just reporting the results of nl_langinfo(3).  AFAICT
> that output isn't right: it's reporting an encoding that can't be
> used by iconv(3).  That leads me to think your environment is
> misconfigured.
>
> The "client charset = UTF-8" line in your freetds.conf is supposed to
> override environmental settings such as the LANG variable.  With it, your
> TDSDUMP should not report
>
>  iconv.c:432:tds_iconv_info_init: client charset name "" unrecognized
>

echo $LANG
en_US.utf-8

> If TDSDUMP still reports that even with UTF-8 set in your freet.conf, that would
> be a bug.  I vaguely remember discussing this before, but yours would be the
> clearest indication.  (It might even be fixed in CVS HEAD.  Yes,
> we need a release.)
>
> A workaround might be to clear any environment locale-related environment
> variables before starting tsql.  Or replace them with upper-case
> versions.

set $LANG to uppercase and unset it, still get the lowercase locale.

>
> HTH.
_______________________________________________
FreeTDS mailing list
[email protected]
http://lists.ibiblio.org/mailman/listinfo/freetds
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.