Re: Using DBLIB With Azure

Ken Collins <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
>> So I am testing TinyTDS with Azure and I am close. I have 0.83.dev installed with OpenSSL and can connect with tsql. 
>> 
>> $ tsql -S azure -U tinytds@abc -P password -D tinytdstest
>> 
>> But I am having an issue with figuring out a way to use a database setting. I know that Azure does not have a notion of "USE ..." or has a way to specify a default database with the user account, so I was let with reverse engineering how tsql accomplishes a connection using the -D option and I am left stumped as to how I can get TDSCONNECTION's database string in there. FYI, TinyTDS only uses sybdb.h and sqlfront.h, so some things that tsql is doing is not a public API. Perhaps there is something that can be done for this? 
> 
> In src/apps/tsql.c, look for opt_default_db.  
> The TDS 7+ login packet has a default database field, cf. doc/tds.html.  
> The db-lib dbuse() function just sends "USE dbname" to the server.  


 68   INT16	position of database name
 70   INT16	database name length
...
 86   UCS2LE[n] hostname
...
      UCS2LE[n]	database name

Very informative!

I am still not seeing a way that I can use this. TinyTDS compiles against sqlfront.h and sybdb.h. Is there a way that the name can be set in this packet when I am using the DBLIB api like in the LOGINREC or something? Maybe with this? #define DBSETLPACKET(x,y)	dbsetllong((x), (y), DBSETPACKET) A bit more guidance would really be helpful.

Also, would it be considered a bug that the database name is not pulled from the freetds.conf would be a bug. Like in the tsql example above, if I left off the -D option was left off and there was a database specified in the conf? If so, this would be another way to accomplish it because if that worked, then the conf would maybe work for me too. Thanks so much ahead of time for any help.

 - Ken
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.