October 20, 2003 at 9:55 am
Our company has a third-party Visual Basic application that uses an Access database on the server and another at the workstation, with linked tables, for data access. This is an older program and was developed using DAO and the old Data Control for all reads,writes, updates, etc. I am wanting to port the primary database over to SQL Server and have designed a database with the needed tables and even did a few test runs. Just wondering what problems I might encounter using linked SQL tables. This app generates a large amount of data and is really not suitable for Access. Unfortunately, this app is very poorly designed and often queries an entire table for lookups (unbelievable, but they bring the whole table over and search for the value by iterating the recordset). I was also hoping that by going to SQL, I could gain some advantages for other projects I am developing against the database and cut down on network traffic.
October 23, 2003 at 8:00 am
This was removed by the editor as SPAM
October 23, 2003 at 9:14 am
Don't use linked tables for this, as they are generally even worse than looping through the recordset. In Microsoft Access 2000 and above you can create projects that connect direct to SQL to make this sort of development task very very easy (I still prototype stuff in Access this way and I can churn out very complex apps in under a day with it) but you will need to compleatly throw out DAO and Data controls
Keith Henry
DBA/Developer/BI Manager
Keith Henry
October 23, 2003 at 12:25 pm
Upgrading to SQL Server alone may not be enough; you will end up re-writing many of the controls (if not all of them) to use that advantage. The investment would not be just the SQL Server but the time you will need to redo and test everything.
Don't use linked tables unless you must. It is only a small band-aid to a much larger problem (your application is out-dated).
Dr. Peter Venkman: Generally you don't see that kind of behavior in a major appliance.
Patrick
Quand on parle du loup, on en voit la queue
October 23, 2003 at 1:58 pm
Thanks for responses, but maybe I stated my problem incorrectly. I, unfortunately, cannot changes the source code since this was developed byan outside party. I was simply wanting to change the backend database to SQL instead of Access. Like I said, the frontend application uses an Access database with linked tables to the server database. I was simply going to replace this frontend with an Access database that used only linked tables to SQL Server. This app does not hit the server database directly. I was just wondering what, if any, problems I might see by using the linked SQL tables. I am developing some reporting apps against this and also some data import interfaces from our ERP system. Things would be alot easier if the backend database was in SQL Server. Thanks.
October 24, 2003 at 6:54 am
From that description stick with access for the backend. jet to jet is marginly better than jet to sql, but still awful
Given how amazingly easy Access 2000 is to write on, you might still be better off re-writing the app to work as a Access Project.
Keith Henry
DBA/Developer/BI Manager
Keith Henry
October 24, 2003 at 12:17 pm
Yes, based on what you said there is no valid reason to upgrade to SQL Server. The application will not be able to take advantage of the upgrade.
Bonne chance
Dr. Peter Venkman: Generally you don't see that kind of behavior in a major appliance.
Patrick
Quand on parle du loup, on en voit la queue
October 27, 2003 at 4:16 am
I don't do any Access development, but we do use it (at work, not here) for data management and the linked tables work well for the most part. Not always, some queries seem to end up consisting of bringing all the data back to Jet to resolve.
Linking in the tables and trying it wouldnt take very long, based on my experience I think I'd invest the time to see what happened.
Andy
October 27, 2003 at 7:40 am
You should first make sure that you are still supported when you change the configuration yourself.
Frank
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
October 27, 2003 at 9:00 am
Thanks for all of your responses. Yes, Frank, I will still be supported by the vendor. Like I mentioned earlier, I have already ported the backend into a matching SQL database, so I think I will give it a shot. The few short test runs have seemd to work fine, I was just worried about full production over a longer time period. We will see what happens. Again, thanks for everyone's input.
October 29, 2003 at 1:58 am
quote:
I don't do any Access development, but we do use it (at work, not here) for data management and the linked tables work well for the most part. Not always, some queries seem to end up consisting of bringing all the data back to Jet to resolve.Linking in the tables and trying it wouldnt take very long, based on my experience I think I'd invest the time to see what happened.
With Jet as the front end (ie linked tables) ALL queries on linked tables bring the entire dataset to the front end and then do the all the work on the local client. You may see some improvement, depending on where the original back end is and where the new SQL version is, but you may be wasting your time.
Keith Henry
DBA/Developer/BI Manager
Keith Henry
October 29, 2003 at 2:18 am
quote:
With Jet as the front end (ie linked tables) ALL queries on linked tables bring the entire dataset to the front end and then do the all the work on the local client. You may see some improvement, depending on where the original back end is and where the new SQL version is, but you may be wasting your time.
What about linked tables and ODBCDirect (don't know if it still exists) or SQL Passthrough Queries?
Don't know if it works with linked tables, but using this will bypass Jet and your statements fire directly against the underlying db.
Frank
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
October 29, 2003 at 4:45 am
Keith, do you have a reference that supports that? My experience (viewed, not tested) doesnt match that - I've got tables with 5 mil rows, dont see I could be pulling all of those each time.
Andy
October 29, 2003 at 7:32 am
quote:
What about linked tables and ODBCDirect (don't know if it still exists) or SQL Passthrough Queries?
SQL Passthrough Queries will be handled by SQL, but clangley is talking about linked tables only
quote:
Keith, do you have a reference that supports that? My experience (viewed, not tested) doesnt match that - I've got tables with 5 mil rows, dont see I could be pulling all of those each time.
No, but it doesn't execute any SQL, just gets all of the table. Maybe Jet is smarter than I thought and is doing something at a deeper level. I've handled very large datasets linked in Access and in general it is very very slow and network heavy, but most of this is from my Access 97 days, so maybe XP/2003 is better.
Keith Henry
DBA/Developer/BI Manager
Keith Henry
October 29, 2003 at 7:41 am
quote:
SQL Passthrough Queries will be handled by SQL, but clangley is talking about linked tables only
Somehow I remembered you need linked tables to run PassThrough queries.
My mistake.
Frank
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
Viewing 15 posts - 1 through 15 (of 19 total)
You must be logged in to reply to this topic. Login to reply