freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
- From: Alberto Pulvirenti <alberto.pulvirenti AT crowdengineering.com>
- To: freetds AT lists.ibiblio.org
- Subject: [freetds] Difference between tsql and libsybdb
- Date: Mon, 24 Sep 2012 12:33:05 +0200
Dear all,
after some time I tried to find a solution to this problem, I preferred to
send a request directly to this mailing list, since I suppose that experts
about freeTDS will be looking at it and find a solution maybe quite easily.
I have implemented a C++ class which makes use of the libsybdb to connect
to a SQL Server 2008 database and allow for some standard queries.
I had to use this class inside a network which made me available a SQL
Server DB in an instance that applies a Logon trigger.
Now, what happens is the following. If I try to access this instance using
the "tsql" executable which comes together to the freeTDS source package (I
am using 0.91, the latest stable release I found in the site), then I
manage to login correctly, I get the prompt and I can successfully execute
queries on the DB which is allowed for me to access.
Instead, if I try to log into the same DB on the same instance using my
class, it fails because it is kicked out by the logon trigger.
What I do is just creating a LOGINREC object and set it with what is needed
to access the DB (user, password, port, host, etc,), which is nothing more
and nothing less than what I put in the command line when I call tsql.
I called the admins of that SQL Server instance and the only help I got was
the log of some error message which is the following:
>> 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
the point is that I don't understand if this is a critical failure point
and, if it is, what should I add to the connection to avoid this failure.
What I do is similar to what I have always seen in the examples about how
to set up a connection:
// allocate login params
LOGINREC *login; if ((login = dblogin()) == FAIL)
__LOG_ERROR_RETURN(CROWD_ERR_DB_FAILURE, log_preamble() << "failed to
initialize login object") // setup login params DBSETLUSER(login,
user.c_str()); DBSETLPWD(login, pwd.c_str()); DBSETLAPP(login,
"CrowdForce"); DBSETLCHARSET(login, "utf8"); DBSETLDBNAME(login,
db_name.c_str()); if (gethostname(hostname, max_len) == 0)
DBSETLHOST(login, hostname); else __LOG_ERROR_RETURN(CROWD_ERR_DB_FAILURE,
log_preamble() << "failed to retrieve hostname") // connect to DB engine
and free login object m_connection = dbopen(login, db_conn.c_str());
dbloginfree(login); if (m_connection == NULL)
__LOG_ERROR_RETURN(CROWD_ERR_DB_FAILURE, log_preamble() << "failed to open
connection")
-
[freetds] Difference between tsql and libsybdb,
Alberto Pulvirenti, 09/24/2012
-
Re: [freetds] Difference between tsql and libsybdb,
James K. Lowden, 09/24/2012
-
Re: [freetds] Difference between tsql and libsybdb,
Alberto Pulvirenti, 09/24/2012
-
[freetds] [FreeTDS][SQL Server]Communication link failure,
Reinaldo A. Fagundes, 09/24/2012
- Re: [freetds] [FreeTDS][SQL Server]Communication link failure, James K. Lowden, 09/24/2012
-
Re: [freetds] Difference between tsql and libsybdb,
James K. Lowden, 09/24/2012
-
Re: [freetds] Difference between tsql and libsybdb,
Alberto Pulvirenti, 09/25/2012
- Re: [freetds] Difference between tsql and libsybdb, Alberto Pulvirenti, 09/25/2012
-
Re: [freetds] Difference between tsql and libsybdb,
James K. Lowden, 09/25/2012
-
Re: [freetds] Difference between tsql and libsybdb,
Alberto Pulvirenti, 09/25/2012
- Re: [freetds] Difference between tsql and libsybdb, James K. Lowden, 09/26/2012
-
Re: [freetds] Difference between tsql and libsybdb,
Alberto Pulvirenti, 09/25/2012
-
Re: [freetds] Difference between tsql and libsybdb,
Alberto Pulvirenti, 09/25/2012
-
[freetds] [FreeTDS][SQL Server]Communication link failure,
Reinaldo A. Fagundes, 09/24/2012
-
Re: [freetds] Difference between tsql and libsybdb,
Alberto Pulvirenti, 09/24/2012
-
Re: [freetds] Difference between tsql and libsybdb,
James K. Lowden, 09/24/2012
Archive powered by MHonArc 2.6.24.