Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. CKG Edit ====== ====== ===== Error Message(s) ===== <html><div style="margin-left: 20px;"> Corrupt Blob in Order Details Database </div></html> <html><div style="margin-left: 20px;"> 'Blob has been modified' </div></html> ===== Explanation of Error ===== BLOB is an acronym for "Binary Large OBject". It is the database term for any (usually large) amount of data that is not a fixed size. In SMS, common BLOB types are * Memo * Image * Report File In Paradox, fixed size data is stored in the *.DB file. This file is orderly, fast, indexed, and can be read and written very quickly. In contract, BLOB data in Paradox is stored in the *.MB file. If you put a BLOB record in the database, the .DB file will have an offset (pointer) saying where in the .MB file the BLOB is stored. It also has a size indicator, to say how many bytes the BLOB is. Accessing a BLOB file involves finding the record in the .DB file, getting the pointer to the BLOB in the .MB file, reading down the .MB file until you come to the BLOB, and reading the number of bytes specified. A BLOB Corruption occurs when the pointer into the .MB file does not start or end with a BLOB, and usually means that at least some data may be corrupted or lost. ===== Severity ===== <html><div style="margin-left: 20px;"> **High**. This error often corresponds to data lost in the MB file. Because this is usually only the BLOB data (the fixed data in the .DB is not affected), the results of the corruption may not be immediately apparent. Memo fields and image fields should be verified immediately. For orders, the description, production notes, and any images may be lost. </div></html> ===== Possible Root Cause(s) ===== <html><div style="margin-left: 20px;"> This is usually caused by the .MB and .DB databases getting out of sync. In that respect, it is caused by the same thing that causes an "Index Out of Date" error. </div></html> See Also: [[sms_error_-_index_out_of_date]]. ===== Resolution ===== - Run the [[dbrebuild]] utility. - Open the database and check recent and past orders for indication of data lost. * If data loss is found, it may be possible to reinsert the BLOB data from a backup copy of the data. ===== Resolution 2 ===== ==== If the First Resolution does not resolve the issue ==== - Ask customer if they were working in an Estimate or an Order when they got the blob error. - Open the Database Browser. - Navigate to either the Order, and Order Details or Estimate, and Estimate Details table depending on what the customer told you. - Click in the table. - Click the button to take you to the end of the table. - Hit the End key on your keyboard. - Double click on the last (MEMO) record that is capitalized, there are several (MEMO)/(Memo) fields you may have to check * note: if the text is good, the record is fine** - Delete the corrupted message - Move up to the next record and repeat * note: if numerous records are corrupted get assistance from Tier 2 tech ===== Resolution 3 ===== ==== After trying Resolution 2 get assistance from Tier 2 tech ==== - Select the SQL tab in the DBBrowser - Navigate to either the Order, and Order Details or Estimate, and Estimate Details table depending on what the customer told you. - Click in the table. - Hit the End key on your keyboard. - Record the order of the fields and their names in order from (MEMO) field to the last field in the table, there are several (MEMO)/(Memo) fields you may have to check * note: Recommend you also capitalize the Field names the same way when recording them. - Navigate to either the Order, and Order Details or Estimate, and Estimate Details table depending on what the customer told you. - Click in the table. - Click the button to take you to the end of the table. - Hit the End key on your keyboard. - Navigate to either the Order, and Order Details or Estimate, and Estimate Details table depending on what the customer told you. - Click in the table. - Click the button to take you to the end of the table. - Hit the End key on your keyboard. - Select the Advance tab in the SQL tab - Run SQL 1 - Click the Execute SQL button ====== SQL 1 ====== <code sql> Update "Order Details Database" Set ModifierXML = '' where OrderDetailID > 0 </code> * note: If there are additional fields to be added, you will need to check with Development on the field type. * note: Recommend you also capitalize the Field names the same way ==Resolution 4 (Get assistance from a Tier 2 Tech)== - Go to [[sms_sql_-_insert_memo_fields_from_backup_into_order_and_estimate_tables]] ===== Version Information ===== * Reported : 6/2009 * Version(s): SMS 2000, SMS 8.5, SMS 8.6, SMS 8.9 * Fixed in : Problem is inherent to database type, although steps can be taken to reduce the likelihood of occurrence there is not a permanent fix for problem. ===== Related Errors =====