Sniffer to trace ODBC calls?

Sniffer to trace ODBC calls?

am 09.12.2003 18:06:47 von Philippe Lang

Hello,

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 tcpdu=
mp or ethereal, but that shows ODBC calls and results more clearly.

Thanks

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

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Re: Sniffer to trace ODBC calls?

am 09.12.2003 18:41:38 von Benjamin Riefenstahl

Hi Philippe,

"Philippe Lang" 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




---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Re: Sniffer to trace ODBC calls?

am 09.12.2003 19:03:18 von Philippe Lang

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.=20

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

Thanks

Philippe

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


Hi Philippe,

"Philippe Lang" 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




---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Re: Sniffer to trace ODBC calls?

am 09.12.2003 19:36:07 von Benjamin Riefenstahl

Hi Philippe,


"Philippe Lang" 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 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)

Re: Sniffer to trace ODBC calls?

am 09.12.2003 19:40:17 von Dave Page

=20

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

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Re: Sniffer to trace ODBC calls?

am 10.12.2003 08:38:53 von Philippe Lang

Hello,

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

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

I'll check that today...


Philippe


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


Hi Philippe,


"Philippe Lang" 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?

am 11.12.2003 12:11:07 von Philippe Lang

I have made some tests with very simple filters, like "param =3D 123", and =
filtering happens server-side all the time. I wonder is there could be a mo=
re complicated combination of criterias that would cause a filtering client=
-side, like with a Jet 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=E9 : mercredi, 10. d=E9cembre 2003 08:39
=C0 : 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 filtering is actually made client-side=
.. All records are fetched from the network, and then only those that match =
the criteria appear on the screen.

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

I'll check that today...


Philippe


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


Hi Philippe,


"Philippe Lang" 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

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Re: Sniffer to trace ODBC calls?

am 11.12.2003 18:58:32 von Richard Combs

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



---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html