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: "James K. Lowden" <jklowden AT freetds.org>
  • To: freetds AT lists.ibiblio.org
  • Subject: Re: [freetds] Difference between tsql and libsybdb
  • Date: Wed, 26 Sep 2012 23:51:00 -0400

On Tue, 25 Sep 2012 18:15:38 +0200
Alberto Pulvirenti <alberto.pulvirenti AT crowdengineering.com> wrote:

> > Session properties aren't set by dbopen(). They're set via
> > T-SQL's SET command. Read up on that, and on @@options. (Nowadays
> > there's a function to query session properties individually, not
> > just as a bit mask.)
>
> This last paragraph I didn't fully understand.

What may not be clear is that the problem you're seeing doesn't
manifest itself when you first open the connection. It shows up when
you issue that particular query. A simple query like

SELECT 1 as 'one'

will not fail. But one that requires e.g. CONCAT_NULL_YIELDS_NULL
will.

CONCAT_NULL_YIELDS_NULL is a session property. Session properties in a
T-SQL session are set using the T-SQL SET command, cf.
http://msdn.microsoft.com/en-us/library/ms190356.aspx. Among the many
arcane things affected by session properties are the ability to create
indexed views and the ability to *use* an existing index of an indexed
view, cf. "Requirements for the CREATE INDEX Statement" at
http://msdn.microsoft.com/en-us/library/aa933148(v=SQL.80).aspx.

> In any case, I suppose that I can issue such a SET command only once
> the DBPROCESS is properly initialized after dbopen().

English is a little ambiguous here. You can issue any number of SET
commands for the duration of the session, just as any query, after
dbopen() and before dbclose().

HTH.

--jkl




Archive powered by MHonArc 2.6.24.

Top of Page