I installed Access Database Engine in order to open a database using RStudio and everything is fine. However when I installed the package, Microsoft Access can't start which means that if I try opening any Access file or creating any new one, it won't open.
Therefore, there is incompatibility issue between Access file and Access Database Engine, since I tried this process on two different platforms and got the same problem. Therefore, I appreciate any ideas or solutions regarding fixing the issue using registry or other suggestions.
As Andre altready mentioned - there is a misunderstanding on your side. Access runtime can ONLY open existing databases for data entry, nothing else. No alteration of forms, no new reports, and especially no new table or database. For stuff like this you need the whole access application, which is part of office and far from free.
Related
I'm trying to connect to a database supplied by a vendor. I have read-only access.
Every tool I use (SQLWorkbench, DBeaver, etc...) refuses to connect using the jconn4 drivers with an error message along the lines of:
Metadata accessor information was not found on this database. Please install the required tables as mentioned in the jConnect documentation.
Normally the fix is easy. Run:
ALTER DATABASE Upgrade JCONNECT ON
Unfortunately in this instance, I only have read-only access and the vendor refuses to turn it on. Apparently with good reason. I took a snapshot of the Windows server, then did a few tricks in the background to get access to the database with read/write privileges and ran the command. Then I restarted the database server. Every client that uses the database started crashing and throwing bizarre errors. I rolled back to the backup and called the vendor and played dumb. They immediately knew the issue and said "somehow someone turned on metadata accessor tables--good thing you had a backup" and that was the end of it.
Is it possible to access the database without turning on those tables? Are they specifically related to using jconn4 for connecting? Is there another way to connect? (I don't pretend to understand anything about the jconn4 library or Sybase--I rabidly dislike both things). Ideally I would love to be able to browse tables and key relationships with a GUI, but I'd settle for just being able to execute SQL commands and get results while testing.
this is my problem:
When working in webmatrix, if I have a published Umbraco site and I need to re-publish it to update the live version to my local version and I need to update the database too, I can't.
Webmatrix will say that the database file is in use. Of course it's in use, 'cause IIS is running on the server, and the site is live, so it's using its database, and it can't be overwritten.
What bugs me the most is that I haven't found any way to overcome this problem, if not by stopping my website's application pool on my server, or restarting the IIS service, but that's too much fuss!
There's got to be a simple way to update the database from Webmatrix.
I usually use a SQL CE database for my Umbraco websites but I can switch if SQL Server is needed.
Please, this is driving me nuts, I hope it's possible and someone will show me the way!
Thanks in advance
You could use the app_offline.htm method outlined here. Basically you can add a file to the root of the website called app_offline.htm and this will allow you to update the database. Obviously, you can format the app_offline.htm page to look like your site and have a some copy stating the site will be back up in a few minutes etc.
On a different note, moving the database to SQL Server causes a similar issue in that, although you can update the db without having to detach it, you still have to prevent people from accessing the site whilst the update is occurring.
I've been tasked with writing a Mac App in xcode 4.3 that can search and display data from a publicly available MS Access Database that's updated regularly. For this reason, I can't just convert the file to a different database platform. I've searched the depths of Google and can't find anyone else attempting such a task.
Can anyone point me in the right direction?
You may try to use 3rd party tools that provide connectivity like actualtech one.
http://www.actualtech.com/product_access.php
I personally never tried this one, but it looks promising.
I believe there are no native Microsoft support for other platforms than Windows.
If the database is in an MDB file, you could try using this online MDB to MySQL converter.
You could write a daemon that fetches the latest SQL dump daily or even hourly and stores it in a local SQLite file. Then your client app just needs to query the local file.
I know it's not as convenient as connecting to the database directly, but this is a 'free' solution.
I am developing Delphi 7 application, which is operating with Access Database (MDB format). It works fine on my PC, and some other PCs as well. But on some machines application gives error when trying to access database sometimes, saying something like "Unkown database format (mdb)". Additionally I noticed one thing: When you open that database in Ms Access using Office, it is opened in "read-only" mode for some reason. Can anybody help? What could be the reason for the problem?
It's been a long time since I have programed in Delphi, but I remember I had issues with different versions of MDAC installed. Compare the versions between the pc's that work and those that don't.
I think your most likely problem is to do with MDAC, use the registry to check what version is on each machine and see if there is a differnce between the ones that work and the ones that dont.
I used to get that error message if the database file (the mdb file) was actually set to read-only (for example, if it had been copied off a CD). Check the file properties in Windows Explorer and ensure the file isn't read-only.
Also, have you tried doing a Compact & Repair within Access, as Access databases regularly corrupt and this option can often help cause all manner of problems.
What version of Access is the MDB formatted for? Are you using DAO or ADO to access the databases. Is the MDB in 2003 or 2007? I suspect it's in A2007 format and the machines you are having troubles with have A2003 installed or no version of Access at all. Whereas the machines that work do have A2007 installed on them. But that's just a guess.
You also need to track down the read only problem too.
You say: "It works fine on my PC, and some other PCs as well."
Then it sounds like there might not be anything wrong with your program. What it could be is that the PCs it won't work on all the time do not have Microsoft Office or at least Microsoft Access installed. They need to have Access installed for ADO to work.
A "sometimes" problem on a machine is difficult to diagnose without further clues.
I'm afraid I don't know what the "Read-only" problem might be.
I have an old compiled Access Application mde file. This application has linked tables to network shared folder. I tried to upgrade main database using upsizing wizard on main database and everything went well. Then when the application starts it gives error message that
Microsoft jet database engine cannot find the input table or query table
I have checked the shared mdb file it has exact table names and everything.
Then I called the guy who developed this application. He said I have to rewrite the application to not use Jet engine...
What does Jet Engine has to do with linking tables? Do I really have to rewrite the whole application to use ADO?
Many questions:
do you have the source MDB file? I can't recall if creating an MDE fails if the linked tables are not correctly connected. In any event, should you end up needing to alter the app, you're going to need the source MDB file.
the error message you report should give the name of the missing table.
do you know when the error is being reported? There could be any number of places where simply replacing tables linked to a Jet MDB back end with ODBC links to a server will not fix things. For instance, should there be any saved queries or SQL in code that bypasses linked tables and uses a direct connection string, that could produce an error like you see.
in regard to the developer's response that "I have to rewrite the application to not use Jet engine..." either you misunderstood what he said, or your developer is completely incompetent. Or both, I guess. Jet works very well with ODBC linked tables and if you're using an MDB front end, it is impossible to completely eliminate Jet, as the MDB is a Jet data file. The desire to eliminate Jet mostly comes from people who can't be bothered to learn how to use it properly.
It sounds to me as though you're getting an unhandled errror but insufficient information on what's producing it. You need the actual MDB to troubleshoot it, as the code isn't there to display in the MDE so there's no way to figure out what the actual source of the problem is. If your developer won't give you the MDB, then you need to check the contract under which the app was developed -- if you agreed to letting him control the source code, you're basically at his mercy and should fire whoever signed off on that. For what it's worth, when I deliver an MDE to a client, they also get the full MDB. They generally don't do anything with it, but should I no longer be available to do further development work, they've got the source code that they can give to whomever they want.
Last of all, I think it's very unlikely that even if you get your app working, a mere upsizing is going to offer much in terms of performance or stability. It is true that very often, 90% or more of an upsized app will work without alteration, but the other 10% can be very problematic. Often you need to move certain operations server-side to get the efficiency a server back end offers. This means your front end app needs to be re-architected to work better with your upsized back end. The degree to which this is true will differ from app to app, but it's very seldom that absolutely everything works without revision.
You did change Access database version?
It is possible that your mdb was linked with old version of Jet drivers and these drivers cannot connect to newer mdb version.