简体   繁体   中英

ms-access: double linked table

i have an ms-access backend

i have a bunch of users connecting to the back end with their own personal front ends

i am changing the backend to sql server, and do not want to re-distribute front ends. is it possible for me to just set it up so that the ms-access backend points to the sql-server?

please note that all i need is just one table. it would be access-frontend-->ms-access back end-->sql server table

Yes. Create a linked table with an ODBC connection to the SQL Server. Then each of your clients will need the same ODBC connection added to their PCs.

I created a database, BE.mdb, which contains a single table, Books.

Next I created another database, FE.mdb, which contains a link to the Books table in BE.mdb

Then, I opened BE.mdb and replaced Books with an ODBC link to a table in a PostGreSQL database.

Does that description correspond to what you want to accomplish?

If so, I don't see how it can work because when I open FE.mdb again and try to open the Books linked table, Access complains "The Microsoft Jet database engine cannot find the input table or query 'Books'".

I think Access' database engine is looking for a native Jet table (or query) named Books ... which is what existed when the link was created. However, the Books link target was changed from a Jet table to an ODBC link, so the Jet database engine can't find what it is looking for.

The only way I can find to make it work is to change the link definition in FE.mdb ... but I thought that's what you wanted to avoid.

It is possible, I did it myself but for different reasons. It was a stop gap while half the applications in a group were migrated and half stayed on access for a few months but we still needed to run reports that spanned both applications.

I will say that there was a marked performance hit using this method and I would echo the recommendation of using the excellent access auto FE updater to ease this kind of issue in the future

Sure HansUp, it might be a bit of an edge case but this is my situation.

I had a number of back end MDB files for a group of applications, I needed to have all of this information in one database so I could do reporting using business objects that needs all of the tables under one “connection” (in this case the connection is to this MDB that just has linked tables to the real back ends).

Some of these applications got migrated to SQL server before others including some common shared tables. In some situations the chain went Front End -> Back End -> SQL server. It does take a performance hit and I'm much happier now that the migration is fully complete.

Oh and I don't link using DSNs I use a DSN-less setup with a bit of code to re point the tables to different serves for testing/production

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM