Skip to Content.
Sympa Menu

freetds - Re: [freetds] setting the default database ("asa database")

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: <subhendu.ray AT barclays.com>
  • To: <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] setting the default database ("asa database")
  • Date: Tue, 10 Mar 2015 13:43:43 +0000

Hi Frediano,

Please find the requested details below.


Context:
As per the freetds.conf<http://www.freetds.org/userguide/freetdsconf.htm>
documentation, 'ASA database' should set up the default database when
connected to the database server instance.
ASA database valid database name servername [section] name
Specifies the name of the default database when connecting to an ASA server.
A TDS 5.0 login packet has a field called lservname. For most TDS servers,
lservname is a user-defined string with no inherent meaning. ASA servers,
however, requires that lservname contain a valid database name, and sets that
as the default database for the connection. FreeTDS normally fills lservname
with the [section] text.. This entry instead sets the database name
independently of the [section] name.


Example of the freetds.conf:
[FOOBAR_DEV]
host = db_at_foo.fqdn.com
instance = FOO_DEV_INSTANCE
tds version = 7.0
asa database = BAR

Problem: The default database was not set correctly when connected to
"FOOBAR_DEV" DSN.

Solution:
Left file: src\tds\config#2.c
Right file: src\tds\config#3.c
} else if (!strcmp(option, TDS_STR_ASA_DATABASE)) {
< tds_dstr_copy(&connection->server_name, value);
---
} else if (!strcmp(option, TDS_STR_ASA_DATABASE)) {
> tds_dstr_copy(&connection->database, value);



There is another minor change suggested to make it obvious how we obtained
the database during the setup phase; this is purely cosmetic. This can be
ignored, if you like.
Left file: src\tds\config#2.c
Right file: src\tds\config#3.c
252c252
< tdsdump_log(TDS_DBG_INFO1, "\t%20s = %s\n",
"database", tds_dstr_cstr(&connection->database));
---
> tdsdump_log(TDS_DBG_INFO1, "\t%20s = %s\n",
> "asa database", tds_dstr_cstr(&connection->database));



Please let me know if you need any more details.

Thanks,
Subhendu



_______________________________________________

This message is for information purposes only, it is not a recommendation,
advice, offer or solicitation to buy or sell a product or service nor an
official confirmation of any transaction. It is directed at persons who are
professionals and is not intended for retail customer use. Intended for
recipient only. This message is subject to the terms at:
www.barclays.com/emaildisclaimer.

For important disclosures, please see:
www.barclays.com/salesandtradingdisclaimer regarding market commentary from
Barclays Sales and/or Trading, who are active market participants; and in
respect of Barclays Research, including disclosures relating to specific
issuers, please see http://publicresearch.barclays.com.

_______________________________________________




Archive powered by MHonArc 2.6.24.

Top of Page