Skip to Content.
Sympa Menu

freetds - Re: [freetds] Difference between tsql and libsybdb

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Alberto Pulvirenti <alberto.pulvirenti AT crowdengineering.com>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] Difference between tsql and libsybdb
  • Date: Tue, 25 Sep 2012 14:56:45 +0200

Sorry for bothering else you: How do I set such options before doing the
dbopen()? It seems to require an already initialized DBPROCESS object...

2012/9/25 Alberto Pulvirenti <alberto.pulvirenti AT crowdengineering.com>

> Hello,
>
> thanks for all help, I am looking at the points you suggested, but I
> noticed that I forgot to specify the problem occurred.
> Once I asked to the DB admin to report me the log of the failed operation
> in this logon trigger which kicks me out, the result is this:
>
> SELECT failed because the following SET options have incorrect settings:
> 'CONCAT_NULL_YIELDS_NULL, ANSI_WARNINGS, ANSI_PADDING'. Verify that SET
> options are correct for use with indexed views and/or indexes on computed
> columns and/or filtered indexes and/or query notifications and/or XML data
> type methods and/or spatial index operations.
>
>
>
> but the problem is that when I try to access the same server using tsql (I
> mean the executable provided by this package, not the protocol), without
> telling it anything more than the host, user, password and port, it logs
> into the same server without any problem.
> Since it speaks also about XML, that drove me to the idea that there must
> be something sent in XML which this server doesn't like, while tsql (yet
> the program, I mean) does not.
>
> Thanks, best regards
>
> Alberto
>
> 2012/9/25 James K. Lowden <jklowden AT freetds.org>
>
> On Mon, 24 Sep 2012 16:49:22 +0200
>> Alberto Pulvirenti <alberto.pulvirenti AT crowdengineering.com> wrote:
>>
>> > > Look at the login process for bsqldb. Also perhaps try the source
>> > > code from the Tenderfoot section of the UG. It sounds like your
>> > > server may require you to call dboption() before dbopen().
>> > >
>> >
>> > Thanks for this suggestion, but since I am noob in this respect, can
>> > you explain me how I can look at this?
>> > And what's the UG (and its tenderfood section)?
>>
>> The source code for bsqldb is in src/apps/bsqldb.c in your FreeTDS
>> source tree. The UG is in the doc directory and was installed when you
>> ran "make install". (Where depends on how it was configured.) The
>> Tenderfoot guide to DB-Library is part of the UG. The UG for the
>> current release is online at
>> http://www.freetds.org/userguide/samplecode.htm.
>>
>> These resources are intended to make your db-lib programming easier.
>>
>> > I have thought that maybe I could need dboption()'s but I didn't
>> > manage to find a help about what options to set, how and what is
>> > their meaning.
>>
>> A complete db-lib reference manual proved to be more work than your
>> friendly maintainer could do. The incomplete one can still help,
>> though, if only because it's a complete list of the implemented
>> functions. If you follow the Documentation link on the website,
>> you'll find the reference manual.
>>
>> Once you know the function name -- in this case dbsetopt(), not
>> dboption(), sorry -- then I normally search the web for the name.
>> Microsoft's and Sybase's manuals usually show up in the first few
>> hits.
>>
>> > Looking slightly more in detail, I found that the login packet sent
>> > by my application to that server is an XML block (since I am not the
>> > owner of the credentials I hide them):
>> >
>> >
>> <EVENT_INSTANCE><EventType>LOGON</EventType><PostTime>2012-09-20T15:43:17.147</PostTime><SPID>385</SPID><ServerName>
>> > [...]</ServerName><LoginName>[...]</LoginName><LoginType>SQL
>> > Login</LoginType><SID>[...]
>> >
>> </SID><ClientHost>192.168.235.238</ClientHost><IsPooled>0</IsPooled></EVENT_INSTANCE>
>> >
>>
>> You will find the layout of the login packet also among the documents
>> on the website. The login packet is not XML, thank heaven. You
>> application does not send a login packet at all if it uses db-lib.
>> The library sends the packet (correctly formed) when you call
>> dbopen().
>>
>> HTH.
>>
>> --jkl
>> _______________________________________________
>> FreeTDS mailing list
>> FreeTDS AT lists.ibiblio.org
>> http://lists.ibiblio.org/mailman/listinfo/freetds
>>
>
>




Archive powered by MHonArc 2.6.24.

Top of Page