I'm continually running into these database errors in MAX where database files or information within a database is currupted/missing/wrong. At the moment I've got a MAXSchemaError that comes up as soon as I click to expand devices (not my first database error).
They appear to happen at somewhat strange times- for example, I cloned a CF card with my targets image on it, and as soon as I plug the CFcard back into the target BAM database error!
Ive seen the several KB articles on database cleanup/fixes, I'm about to try the autofix tool posted here: https://decibel.ni.com/content/docs/DOC-12805
But I'm waiting to call into tech support first since I'm in a major time crunch-
I just want to ask some of you folks here that work on MAX and its interactions with the OS and LV- is there any way to give a somewhat general explanation of how some of these databases work as a component of MAX? I dont have a huge programming background, but have continued to grow more and more interested in programming since I've seen the graphical perspective- anyone feel like taking a shot at explaining MAX's role in a LV/MAX/DAQ system? Or is there any documentation that talks about how LV and MAX interact on a semi-detailed level?
I'd like to first address your question about what exactly it is that Measurement and Automation Explorer does as part of the LabVIEW software package. Measurement and Automation Explorer (MAX) is the software National Instruments provides to configure hardware products, and verify very low level functionality of that hardware. For example, you can verify connectivity, test some basic inputs and outputs for a device, and see what sort of functionality the hardware has. All this information is stored in a database that MAX can read and write to, that LabVIEW can reference and modify as it becomes necessary, or as a program requests. MAX in a lot of ways is like a gate keeper and escort to the hardware configuration database.
Typically speaking, corruptions of that database are not common. In fact, these corruptions occur primarily under one of a few circumstances. A corruption occurs when there is an error with opening, writing to, reading from, or closing the database. Typically, the corruption will be noticed while trying to open or read from the database. The cause of this corruption can be something like the computer shutting down while writing to the database, or having bad data (data that cannot be read) written to the database. This includes the database not closing properly.
One reason that this occurs with some frequency is having a bad installation of a driver installed. A malfunctioning driver can cause the hardware to think that it can be, or is configured in a way that is not recognized by LabVIEW. Sometimes the configuration doesn't even make sense. One example of this might be a device with four input channels having a configuration file that references 6 channels. Clearly, this doesn't make any physical sense, but the configuration might look ok from a configuration perspective.
Please let me know if thre is anything else I might be able to help you with!