Thread: Sniffer to trace ODBC calls?

Sniffer to trace ODBC calls?

From
"Philippe Lang"
Date:
Hello,

Is there, for Windows or Unix, an ODBC "sniffer", that would allow to look at the queries and results that got through
anetwork? Something like tcpdump or ethereal, but that shows ODBC calls and results more clearly. 

Thanks

-------------------------
Philippe Lang
Attik System
http://www.attiksystem.ch

Re: Sniffer to trace ODBC calls?

From
Benjamin Riefenstahl
Date:
Hi Philippe,

"Philippe Lang" <philippe.lang@attiksystem.ch> writes:
> Is there, for Windows or Unix, an ODBC "sniffer", that would allow
> to look at the queries and results that got through a network?
> Something like tcpdump or ethereal, but that shows ODBC calls and
> results more clearly.

Windows: See the "Tracing" tab in the "ODBC Data Source
Administrator".  I think the trace only logs the queries and error
codes, not the actual data, but that should be enough usually.

benny




Re: Sniffer to trace ODBC calls?

From
"Philippe Lang"
Date:
Hello,

What I'm interested in, is the actual data that is returned by the server, and as you mention, it is not traced by this
tool. 

I'm opening Access forms with a filter, and I'd like to know where the filtering is actually taking place: on the
server,or on the client? I have a low-bandwith connection between the client and the server, this is something I have
totake care of. 

Thanks

Philippe

-----Message d'origine-----
De : Benjamin Riefenstahl [mailto:Benjamin.Riefenstahl@epost.de]
Envoyé : mardi, 9. décembre 2003 18:42
À : Philippe Lang
Cc : Pgsql-Odbc (E-Mail)
Objet : Re: [ODBC] Sniffer to trace ODBC calls?


Hi Philippe,

"Philippe Lang" <philippe.lang@attiksystem.ch> writes:
> Is there, for Windows or Unix, an ODBC "sniffer", that would allow
> to look at the queries and results that got through a network?
> Something like tcpdump or ethereal, but that shows ODBC calls and
> results more clearly.

Windows: See the "Tracing" tab in the "ODBC Data Source
Administrator".  I think the trace only logs the queries and error
codes, not the actual data, but that should be enough usually.

benny




Re: Sniffer to trace ODBC calls?

From
Benjamin Riefenstahl
Date:
Hi Philippe,


"Philippe Lang" <philippe.lang@attiksystem.ch> writes:

> I'm opening Access forms with a filter, and I'd like to know where
> the filtering is actually taking place: on the server, or on the
> client?

AFAIK ODBC itself doesn't do *anything* except forward your calls to
the ODBC driver and probably some repackaging to support outdated
driver versions with comptibility code.

So where do you think the filtering may take place?  In the database
ODBC driver?  That wouldn't make sense.  If the database vendor can do
the filtering in the driver, it can just as well do it on the server.

In Access?  Than the ODBC trace will tell you.  If Access does the
filtering itself, the SQL queries will have no filtering clauses.  If
Access doesn't do filtering itself but asks the server, the SQL
statements will contain WHERE clauses to do it.


benny


Re: Sniffer to trace ODBC calls?

From
"Dave Page"
Date:

> -----Original Message-----
> From: Philippe Lang [mailto:philippe.lang@attiksystem.ch]
> Sent: 09 December 2003 18:03
> To: Pgsql-Odbc (E-Mail)
> Subject: Re: [ODBC] Sniffer to trace ODBC calls?
>
> Hello,
>
> What I'm interested in, is the actual data that is returned
> by the server, and as you mention, it is not traced by this tool.
>
> I'm opening Access forms with a filter, and I'd like to know
> where the filtering is actually taking place: on the server,
> or on the client? I have a low-bandwith connection between
> the client and the server, this is something I have to take care of.

Try the MyLog option in the driver. It will show the data, but is very
verbose.

Regards, Dave.

Re: Sniffer to trace ODBC calls?

From
"Philippe Lang"
Date:
Hello,

When an access database has linked tables with another MDB on the network, you can easily have situations where
filteringis actually made client-side. All records are fetched from the network, and then only those that match the
criteriaappear on the screen. 

Now, I still have linked tables, but through ODBC, and a postgresql backend. I agree this is not the same, and
filteringis likely to occur server-side, but I just wanted to make sure with an SQL Sniffer. I don't know exactly how
accessexactly filters data. 

I'll check that today...


Philippe


-----Message d'origine-----
De : Benjamin Riefenstahl [mailto:Benjamin.Riefenstahl@epost.de]
Envoyé : mardi, 9. décembre 2003 19:36
À : Philippe Lang
Cc : Pgsql-Odbc (E-Mail)
Objet : Re: Sniffer to trace ODBC calls?


Hi Philippe,


"Philippe Lang" <philippe.lang@attiksystem.ch> writes:

> I'm opening Access forms with a filter, and I'd like to know where
> the filtering is actually taking place: on the server, or on the
> client?

AFAIK ODBC itself doesn't do *anything* except forward your calls to
the ODBC driver and probably some repackaging to support outdated
driver versions with comptibility code.

So where do you think the filtering may take place?  In the database
ODBC driver?  That wouldn't make sense.  If the database vendor can do
the filtering in the driver, it can just as well do it on the server.

In Access?  Than the ODBC trace will tell you.  If Access does the
filtering itself, the SQL queries will have no filtering clauses.  If
Access doesn't do filtering itself but asks the server, the SQL
statements will contain WHERE clauses to do it.


benny


Re: Sniffer to trace ODBC calls?

From
"Philippe Lang"
Date:
I have made some tests with very simple filters, like "param = 123", and filtering happens server-side all the time. I
wonderis there could be a more complicated combination of criterias that would cause a filtering client-side, like with
aJet database backend? I don't think so... 

Philippe

-----Message d'origine-----
De : pgsql-odbc-owner@postgresql.org
[mailto:pgsql-odbc-owner@postgresql.org]De la part de Philippe Lang
Envoyé : mercredi, 10. décembre 2003 08:39
À : Pgsql-Odbc (E-Mail)
Cc : Benjamin Riefenstahl
Objet : Re: [ODBC] Sniffer to trace ODBC calls?


Hello,

When an access database has linked tables with another MDB on the network, you can easily have situations where
filteringis actually made client-side. All records are fetched from the network, and then only those that match the
criteriaappear on the screen. 

Now, I still have linked tables, but through ODBC, and a postgresql backend. I agree this is not the same, and
filteringis likely to occur server-side, but I just wanted to make sure with an SQL Sniffer. I don't know exactly how
accessexactly filters data. 

I'll check that today...


Philippe


-----Message d'origine-----
De : Benjamin Riefenstahl [mailto:Benjamin.Riefenstahl@epost.de]
Envoyé : mardi, 9. décembre 2003 19:36
À : Philippe Lang
Cc : Pgsql-Odbc (E-Mail)
Objet : Re: Sniffer to trace ODBC calls?


Hi Philippe,


"Philippe Lang" <philippe.lang@attiksystem.ch> writes:

> I'm opening Access forms with a filter, and I'd like to know where
> the filtering is actually taking place: on the server, or on the
> client?

AFAIK ODBC itself doesn't do *anything* except forward your calls to
the ODBC driver and probably some repackaging to support outdated
driver versions with comptibility code.

So where do you think the filtering may take place?  In the database
ODBC driver?  That wouldn't make sense.  If the database vendor can do
the filtering in the driver, it can just as well do it on the server.

In Access?  Than the ODBC trace will tell you.  If Access does the
filtering itself, the SQL queries will have no filtering clauses.  If
Access doesn't do filtering itself but asks the server, the SQL
statements will contain WHERE clauses to do it.


benny


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

Re: Sniffer to trace ODBC calls?

From
Richard Combs
Date:
If my memory serves me, you were asking if there was a specific SQL
"sniffer".  None that I know of per se.  However my solution - use
ethereal (www.ethereal.com - just download it, it's free), then set the
filter to the tcp port for postgresql.  If you don't mind reading and
interpreting traces, you'll see what is going to and from your server.

HTH

Philippe Lang wrote:

>... server-side, but I just wanted to make sure with an SQL Sniffer. I don't know exactly how access exactly filters
data.
>
>
>
>