onValidateSuccess Event corrupted

I was viewing and saving php code between about 3 apps, when SC8 malfunctioned (SC menus went weird and stopped working) and I had to shut SC8 down. When I restarted, many of my onValidateSuccess php code pages now all show the .onValidateSuccess php code page of one of the apps, and not the code page that they are supposed to show. Two of the apps that don’t show the correct php code page are the security apps.

I did a SC Settings/backup and restore, and that fixed one of the php onValidate php code pages but broke several more. (broke = they show the incorrect php code page).

I need to some how get into the SC8’s database and fix what ever is pointing to the incorrect php code pages for the onValidateSuccess php code pages.

How do I do this? Where is the internal database?

My SC8 is useless and my SC8 project is cancelled as of now, if I cannot get this fixed ASAP. I cannot have several weeks worth of work just disappear every once in a while.

Update: I have discovered that when I create a new SC8 project, and I create the security apps, they too have the incorrect onValidateSuccess php code page copied into their onValidateSuccess php code page. So, it must be something deep inside SC8 itself and not any one particular project.

Update: I think I discovered that nm_scriptcase.db is the database I’m looking for. It may be an SQLite database because of the “.db” extension, however I cannot find the SQLITE3.DLL on my hard drive. Can anyone confirm that SC8 uses SQLite as it’s DB? And if so, where is the SQLITE3.DLL ?

This is the error I get every time I open the onValidate event of any app in any SC8 project. Something is wrong with the record that points to the onValidateSuccess records in the SC8 database.

Invalid argument supplied for foreach() | Script: C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\devel\class\page
mPageEvent.class.php linha: 897

Yes, this is exactly the database. You can install sqlite database manager (don’t remember exactly the name) extension on firefox and open it. Do a vacuum on the database.
Never happened something similar to this in all this years, it’s very weird. Did you checked if your hardrive has some kind of problem?

What version of SC are you running? I had something strange happen to me today as well after upgrading to Version 032. At first I thought I had tried something unusual (inserting HTML as a field label) which broke the grid I was editing. But restoring it did not help, removing the entire application did not help. I get a “Saving Data” that never goes away when trying to edit forms and grids. Menus are OK. I opened at ticket, but no response so far. I may try Giu’s suggestion of vacuuming the SQLite DB.

I’m at 8.1.032 at the moment. I check for SC8 updates often. The error happened about 3 or 4 days ago, so I’m not sure which version I was at when the error happened. I actually didn’t know the damage was done until maybe several days after it happened. I will get sqlite manager as Giu suggested and report back here.

I took a copy of the .db so I can examine the copy and not the original. I had to rename it to a .sqlite extension in order to allow SQLite manager to “see” the file. Integrity check reports the db is ok. I have the .db open now and I see a record that has an .onValidateSuccess that is not correct, and also a ScriptInit and onValidate that look identical… and I’m not sure if they are supposed to be.identical.

I start ScriptCase, and when I click on the sec_retrieve_pswd.onScriptInit event, SC displays the error:

Invalid argument supplied for foreach() | Script: C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\devel\class\page
mPageEvent.class.php linha: 897

I have not done anything in SC since I opened it. I just start SC, go to sec_retrieve_pswd, click on .onScriptInit and the error appears. I think there is something wrong with SC. The code inside was generated by SC’s security module, not me. So I assume it is correct.

I close the error window, then click on the .onValidate and once again, the same error is displayed, on code that was generated by SC. What is my next step to get this bug fixed?

Here is a free tool you might find useful for SQLite management: http://www.sqliteexpert.com

In my case, vacuuming reduced db size slightly, but did not seem to address the “Saving Application Data” being stuck issue. Integrity check was OK also. Saved a copy of db before vacuuming just in case.

Thank you bradk. For all, here is an image of the contents of the SC db, where I indicate the damaged records.

overwrites_of_onValidateSuccess.png

Everyone… I’ll post this over in the bug forum as well.

Try a cleaning SC procedure.
Logout.
Stop SC service.
Empty tmp folder inside sc folder.
Clean browser cache.
Start SC service again
Login and try again.

Ok, will do. Thanks Giu. I did not know there was an SC service.

FWIW, my issue with 8.1.032 turned out to be a corrupted online upgrade. SC did a fine job of handling the support ticket and taking me carefully through the repair process - backing up all the way. For the benefit of others, here is a SC link on performing a manual upgrade ( https://suporte.scriptcase.com.br/index.php?/Knowledgebase/Article/View/669/0/manual-update---scriptcase-81). I am thinking that manual may be a better upgrade approach in the future.

I have purchased support and am in the process of getting help. I looked in my services, and there is no “ScriptCase” service. Is it named something else? What is it called?

ApacheSC81