473,748 Members | 2,595 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Bad performance in queries with Jet4.0 and linked ODBC-tables to SQL-Server 2000

I changed from Access97 to AccessXP and I have immense performance
problems.

Details:

- Access XP MDB with Jet 4.0 ( no ADP-Project )
- Linked Tables to SQL-Server 2000 over ODBC

I used the SQL Profile to watch the T-SQL-Command which Access ( who
creates the commands?) creates and noticed:

1) some Jet-SQL commands with JOINS and Where-Statements are
translated very well, using sp_prepexe and sp_execute, including the
similar SQL-Statement as in JET.

2) other Jet-SQL commands with JOINS and Where-Statements are
translated very bad, because the Join wasn´t sent as a join, Access
collects the data of the individual tables seperately.
Access sends much to much data over the network, it is a disaster!

3) in Access97 the same command was interpreted well

Could it be possible the Access uses a wrong protocol-stack, perhaps
Jet to OLEDB, OLEDB to ODBC, ODBC to SQL-Server or
Jet to ODBC, ODBC to OLEDB and OLEDB to SQL-Server instead of
Jet to ODBC and ODBC direct to SQL-Server

Does anyone knows anything about:

- Command-Interpreter of JetODBC, Parameters, how to influence the
command-interpreter
- Protocol-Stack of a Jet4.0 / ODBC / SQL-Server application

Thanks , Andreas
Nov 12 '05 #1
1 3515
I am not aware that changing from a97 to XP will cause the ODBC linked
tables to slow down. Are you really experience a difference in performance,
or when you changed, are you trying new things?

2) other Jet-SQL commands with JOINS and Where-Statements are
translated very bad
In fact, any query you save in the query tab that uses multiple tables tends
to NOT work well via ODBC. Often, JET has to assume that each table is
complete separate,and tries to join them it's self. If you think about this,
it makes sense, since via ODBC, JET does not really know what is at the
other end.

The solution is to simply take any query you have with multiple tables and
change them to a view on the sql side. You then can even use forms, or
reports on those views. In fact, even in-line sql via JET with where clauses
works VERY WELL on these views.

So, most of you saved queries will work just fine via odbc, but when you
start working with joins etc, then via ODBC, JET has a very difficult time,
since JET has to do the data join, and NOT the server.

3) in Access97 the same command was interpreted well
Hum, that is news to me. I did not think that jet 4 got more dumb in this
case. However, even in a97, I did find that relational joins don't work well
when they are used from the query tab. In fact, even worse is any query that
is based on another query. Again, JET has to layer or "stack" this request.

Of course, if you make the query a pass through, then the join will work
just fine.

My general rule so far for linked tables to sql is that when doing JOINS,
you don't want to use a query on the ms-access side. Further, any query that
is based on a query is also very poorly dealt with. (again, this is becomes
obvious, as JET has to setup sql for the query, and then work on that).
Could it be possible the Access uses a wrong protocol-stack, perhaps
Jet to OLEDB, OLEDB to ODBC, ODBC to SQL-Server or
Jet to ODBC, ODBC to OLEDB and OLEDB to SQL-Server instead of
Jet to ODBC and ODBC direct to SQL-Server


Again, I have not noticed a different between a97 and xp in this regards. It
is certainly possible that the ODBC is JET 4 is more compatible with odbc
(and thus more dumb). I mean, you can always start to use ADO in place of
DAO. However, in my experience, I find that DAO to sql server via linked
tables works VERY good, but you need to avoid using quires with joins. If
you have any joins..then convert that query to a view on the sql side, and
you will find performance just great. Also, don't use any query that is
based on another query..as again JET don't do a good job.
--
Albert D. Kallal (MVP)
Edmonton, Alberta Canada
ka****@msn.com
http://www.attcanada.net/~kallal.msn
Nov 12 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

7
2206
by: Dennis Roberts | last post by:
I have a script to parse a dns querylog and generate some statistics. For a 750MB file a perl script using the same methods (splits) can parse the file in 3 minutes. My python script takes 25 minutes. It is enough of a difference that unless I can figure out what I did wrong or a better way of doing it I might not be able to use python (since most of what I do is parsing various logs). The main reason to try python is I had to look at...
3
2067
by: David Jones | last post by:
Hi, I am trying to hunt down the difference in performance between some raw C++ code and calling the C++ code from Python. My goal is to use Python to control a bunch of number crunching code, and I need to show that this will not incur a (big) performance hit. This post includes a description of my problem, ideas I have for the cause, and some things I plan to try next week. If anyone knows the real cause, or thinks any of my ideas...
2
5561
by: Tim | last post by:
Hi, I'm using ASP to connect to an ACCESS database (db1) via ODBC. The table that I connect to (table1) in db1 is an ACCESS query linked to data in another database (db2). When I try the connection from a web browser I get the following message: Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) The Microsoft Jet database
1
3425
by: Aaron | last post by:
Hello fellow programmers, I am trying to run an append/update query from code, a command button on a form initiates the queries. the format i am using is; _____________________________________________________ SELECT "criteria"
1
2118
by: Sylvain | last post by:
Hi ! I have written an installer (with Innosetup) which do many things and one of them is checking for a required version of installed Jet4 ans if necessary, install it according to the OS. It worked fine with the Jet4 SP6 but now i am trying to deal with the Jet4 SP8, i have a big problem : the microsoft installer detects another installation program is already running and then stop its process. Is it totally impossible to...
2
2051
by: fumanchu | last post by:
I need to insert records into a Sybase database via a linked table. I have a valid, tested DSN ODBC connection to the Sybase database named 'SBA9link'. I also have created a link to a table in the Sybase database that I need to insert into named 'dbo_External_Data'. This is the only means that I have to communicate with the Sybase database. Before I can do inserts into this table I must send the Sybase database an authentication...
115
7627
by: Mark Shelor | last post by:
I've encountered a troublesome inconsistency in the C-language Perl extension I've written for CPAN (Digest::SHA). The problem involves the use of a static array within a performance-critical transform function. When compiling under gcc on my big-endian PowerPC (Mac OS X), declaring this array as "static" DECREASES the transform throughput by around 5%. However, declaring it as "static" on gcc/Linux/Intel INCREASES the throughput by...
2
1976
by: monnomiznogoud | last post by:
Ok, my problem is the following: I have very complicated Access 97 databases that link through ODBC to Sybase databases. Now in some of the forms controls I had queries that used as "where clause" parameters form field values; For example: select foo from bar where a_colmun = !!
1
3197
by: olle | last post by:
Hi. I have the problem that some records in a ms sqlserver table is unable to update from Access. I get the error message odbc-time out error in linked table...... I tried to copy this table to another database, where none but me was aktive. And then it worked quit ok when I try to save the record. I am thinking about if there is some trigger och restraint that I don't know about, but I don't know how to se all of this in the
1
3143
by: eHaak | last post by:
A couple years ago, I built a database in MS Access 2003. I built the form using macros in some of the command buttons, and now I’m trying to eliminate the macros and just use visual basic code. I’ve been successful in doing this for most of the buttons, but I’m having trouble reprogramming some Apply Filter buttons on one form and could use some help. So I have a Contacts List form that lists all of the division’s staff members...
0
8991
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8830
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9541
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9370
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
6796
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6074
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4602
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
2782
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2215
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.