I.T. Discussion Community!
-Collapse +Expand
Paradox
Search Paradox Group:

Advanced
-Collapse +Expand Paradox To/From
To/FromCODEGuides
-Collapse +Expand Paradox Store
PRESTWOODSTORE

Prestwood eMagazine

April Edition
Subscribe now! It's Free!
Enter your email:

   ► MB LobbyCorel Paradox / ObjectPAL Coding BoardParadox Setup, Vista, etc. Topic   Print This     

Index out of Date

Index out of Date in Paradox Setup, Vista, etc. topic (part of our Corel Paradox / ObjectPAL Coding group).

Quick Search: Index out   Index out of  
gwatchmaker
none
-- USA

Hi all,

I have run Paradox 8 on a Server 2003 for over a decade using RDP sessions with dozens of users.  I upgraded to Paradox 11 and Windows 10 clients.  All still fine.  This week, though, I migrated my database from a Server 2003 to a Server 2016.  All programs run fine but I am getting multiple index out of dates each day when multiple users save data in the tables.  So far, I have:

1.  Disabled write cache on drives

2.  Excluded database directories and c:\netdir directory from Windows Defender scanning

3.  Edited LanmanServer and LanmanWorkstation to add keys 'enableoplocks'=0 and 'disableoplocks'=1

4.  Local share on BDE=true

5.  All sessions map to the same c:\netdir for control file and use same path to database tables

Any help from those who have succeeded with a Server 2016 hosting tables in an RDS environment would be greatly appreciated.  

 Posted 94 days ago (Thread Starter)
Comment Quote
About gwatchmaker -Collapse +Expand
Visit Profile
Membership pending.
Member subscribes to this thread with a verified email.
Member pending approval.
Web Presence Hidden.
Once above is taken care of, full Profile content will display including back links, about me, my message, custom Profile html, social networking links, message board signature, company profile, etc.

Post ID #18334, 16 replies
Thread Started 1/7/2021 6:43:01 PM
View Counter=171
Last Reply Posted 3/3/2021 9:05:54 AM)
Location=-- USA 
Joined=5 months ago   MB Posts=12  
Moderator
Steven.G
Myrtle Beach, SC USA

there was some kind of network "group" setting, after a generic win update, that suddenly was defaulted to "reconnect" constantly.. that was blowing out the concurrent table/index logic, which was blowing out the indexes

I'd have to ask my IT guy what it was, specifically

everything you list above, is correct.. this was a new windows "feature"

Steven Green
Senior Software Engineer
Paradox Support Specialist DOS/WIN

Prestwood IT Solutions
8421 Auburn Blvd, Suite 256, Citrus Heights, CA 95610
Office: 916-726-5675 | Fax: 916-726-5676 | http://www.prestwood.com
 Posted 93 days ago
Comment Quote
About Steven.G -Collapse +Expand
Visit Profile
Approved member.
Member subscribes to this thread with a verified email.

Post ID #18336 (Level 2) and Parent is 18334
Reply Posted 1/8/2021 8:25:30 AM
Location=Myrtle Beach, SC USA 
Joined=55 months ago   MB Posts=461  
gwatchmaker
none
-- USA

I would be grateful if you found that setting to change.  Today I migrated back to Server 2003 after tables started losing their indexes altogether upon rebuilding them.  BTree errors also left me with some missing records.

 Posted 93 days ago (Thread Starter)
Comment Quote
About gwatchmaker -Collapse +Expand
Visit Profile
Membership pending.
Member subscribes to this thread with a verified email.
Member pending approval.
Web Presence Hidden.
Once above is taken care of, full Profile content will display including back links, about me, my message, custom Profile html, social networking links, message board signature, company profile, etc.

Post ID #18337 (Level 1.1)  Reply to 18336 and Parent is 18334
Thread Started 1/8/2021 7:28:10 PM
Location=-- USA 
Joined=5 months ago   MB Posts=12  
gwatchmaker
none
-- USA

I would be grateful if you found that setting to change.  Today I migrated back to Server 2003 after tables started losing their indexes altogether upon rebuilding them.  BTree errors also left me with some missing records.

 Posted 93 days ago (Thread Starter)
Comment Quote
About gwatchmaker -Collapse +Expand
Visit Profile
Membership pending.
Member subscribes to this thread with a verified email.
Member pending approval.
Web Presence Hidden.
Once above is taken care of, full Profile content will display including back links, about me, my message, custom Profile html, social networking links, message board signature, company profile, etc.

Post ID #18338 (Level 1.2)  Reply to 18336 and Parent is 18334
Reply Posted 1/8/2021 7:28:10 PM
Location=-- USA 
Joined=5 months ago   MB Posts=12  
Moderator
Steven.G
Myrtle Beach, SC USA

I left a message for my IT guy.. I'll let you know what he says

however, you're describing a very serious issue, not simply out-of-date indexes.. you've already checked that everyone is mapped to the net file and to the data using the exact same path, correct?

even if everyone is using RDP the same, the net file should be mapped to a drive letter, too, not C

Steven Green
Senior Software Engineer
Paradox Support Specialist DOS/WIN

Prestwood IT Solutions
8421 Auburn Blvd, Suite 256, Citrus Heights, CA 95610
Office: 916-726-5675 | Fax: 916-726-5676 | http://www.prestwood.com
 Posted 90 days ago
Comment Quote
About Steven.G -Collapse +Expand
Visit Profile
Approved member.
Member subscribes to this thread with a verified email.

Post ID #18341 (Level 3) and Parent is 18334
Reply Posted 1/11/2021 10:04:27 AM
Location=Myrtle Beach, SC USA 
Joined=55 months ago   MB Posts=461  
gwatchmaker
none
-- USA

Steve, thanks again for your help.  Since the only access to the database is through RDP on the machine... I have not mapped a drive letter.  I instead have the main paradox network file be in a directory called c:\netdir which everyone has full permissions for.  The data tables (and associed lock files that are created) are held in directories like c:\otdata or c:\charts.  Upon user RDP login, I create and set the user's private directory.  I keep all private directories in c:\privdir\username1 or c:\privdir\username2, etc. where the log in name is the name of the subdirectory.  

 Posted 89 days ago (Thread Starter)
Comment Quote
About gwatchmaker -Collapse +Expand
Visit Profile
Membership pending.
Member subscribes to this thread with a verified email.
Member pending approval.
Web Presence Hidden.
Once above is taken care of, full Profile content will display including back links, about me, my message, custom Profile html, social networking links, message board signature, company profile, etc.

Post ID #18343 (Level 1.1)  Reply to 18341 and Parent is 18334
Thread Started 1/12/2021 10:42:22 AM
Location=-- USA 
Joined=5 months ago   MB Posts=12  
Moderator
Steven.G
Myrtle Beach, SC USA

I know it works fine, in theory, but I have this thing about using C drive natively.. even with local share = TRUE.. all of the internals are 20 to 30 years old, and you never really know what's going on in there

your mileage may vary :-)

Steven Green
Senior Software Engineer
Paradox Support Specialist DOS/WIN

Prestwood IT Solutions
8421 Auburn Blvd, Suite 256, Citrus Heights, CA 95610
Office: 916-726-5675 | Fax: 916-726-5676 | http://www.prestwood.com
 Posted 89 days ago
Comment Quote
About Steven.G -Collapse +Expand
Visit Profile
Approved member.
Member subscribes to this thread with a verified email.

Post ID #18344 (Level 4) and Parent is 18334
Reply Posted 1/12/2021 10:52:22 AM
Location=Myrtle Beach, SC USA 
Joined=55 months ago   MB Posts=461  
Moderator
Steven.G
Myrtle Beach, SC USA

did you rebuild and restruct EVERY table before you put them back, on the new system? my "old" comment above just reminded me that this could all be related to your "old" and the possibility that the index file names might have gotten scrambled.. long file name / short file name stuff, you were using server 2003, which goes way back, too

Steven Green
Senior Software Engineer
Paradox Support Specialist DOS/WIN

Prestwood IT Solutions
8421 Auburn Blvd, Suite 256, Citrus Heights, CA 95610
Office: 916-726-5675 | Fax: 916-726-5676 | http://www.prestwood.com
 Posted 89 days ago
Comment Quote
About Steven.G -Collapse +Expand
Visit Profile
Approved member.
Member subscribes to this thread with a verified email.

Post ID #18345 (Level 5) and Parent is 18334
Reply Posted 1/12/2021 10:54:02 AM
Location=Myrtle Beach, SC USA 
Joined=55 months ago   MB Posts=461  
gwatchmaker
none
-- USA

I indeed worried that there may be a problem with the tables that the rebuild didn't detect so I went as far as writing a program in OPAL that examined the table structure of each table, created a new temporary table with the same structure and indexes as the old server tables, then copied record by record to the temporary table, then deleted the original and renamed the temporary. 

This way I have brand new tables created on the new server with the data of the old server tables.  The new tables worked perfectly for a single user but once several users started accessing the tables.... corruption ensued.

 Posted 88 days ago (Thread Starter)
Comment Quote
About gwatchmaker -Collapse +Expand
Visit Profile
Membership pending.
Member subscribes to this thread with a verified email.
Member pending approval.
Web Presence Hidden.
Once above is taken care of, full Profile content will display including back links, about me, my message, custom Profile html, social networking links, message board signature, company profile, etc.

Post ID #18348 (Level 1.1)  Reply to 18345 and Parent is 18334
Thread Started 1/13/2021 5:22:35 PM
Location=-- USA 
Joined=5 months ago   MB Posts=12  
Moderator
Steven.G
Myrtle Beach, SC USA

you're doing everything right, the way you're looking at the settings, the structures, etc

>The new tables worked perfectly for a single user but once several users started accessing the tables.... corruption ensued.<

and you've described real corruption, not just common table-and-index errors.. usually, that means two instances are using concurrently, but don't know that they are using the same files.. which usually means two net files and/or two drive letters

download remlock32.. run it and see if you've got multiple net files or lock files.. it'll take a few minutes to run, it's old :-)

http://www.oasistradingpost.com/cartpages/paradox.htm#Remlok32

Steven Green
Senior Software Engineer
Paradox Support Specialist DOS/WIN

Prestwood IT Solutions
8421 Auburn Blvd, Suite 256, Citrus Heights, CA 95610
Office: 916-726-5675 | Fax: 916-726-5676 | http://www.prestwood.com
 Posted 87 days ago
Comment Quote
About Steven.G -Collapse +Expand
Visit Profile
Approved member.
Member subscribes to this thread with a verified email.

Post ID #18350 (Level 6) and Parent is 18334
Reply Posted 1/14/2021 7:55:13 AM
Location=Myrtle Beach, SC USA 
Joined=55 months ago   MB Posts=461  
gwatchmaker
none
-- USA

Indeed!  I have found multiple .net files eventhough the BDE only maps to c:\netdir.  The files are

c:\users\vit.mydomain\AppData\Local\VirtualStore\PDOXUSRS.NET

c:\users\karen.mydomain\AppData\Local\VirtualStore\PDOXUSRS.NET

c:\users\nancy.mydomain\AppData\Local\VirtualStore\PDOXUSRS.NET

c:\users\bill.mydomain\AppData\Local\VirtualStore\PDOXUSRS.NET

Any idea how to tell the Terminal Service not to do this to the BDE?  I'll bet this is what your IT guy was telling you about a 'setting'

Greg

 Posted 87 days ago (Thread Starter)
Comment Quote
About gwatchmaker -Collapse +Expand
Visit Profile
Membership pending.
Member subscribes to this thread with a verified email.
Member pending approval.
Web Presence Hidden.
Once above is taken care of, full Profile content will display including back links, about me, my message, custom Profile html, social networking links, message board signature, company profile, etc.

Post ID #18351 (Level 1.1)  Reply to 18350 and Parent is 18334
Thread Started 1/14/2021 11:16:40 AM
Location=-- USA 
Joined=5 months ago   MB Posts=12  
Moderator
Steven.G
Myrtle Beach, SC USA

no, this is something different.. each user has their own net file, and if they're coming and going in the data, they're each attacking it like they're the only one there

get everyone out.. let remlok32 kill all the net and lock files, so you start clean

go to the BDE, set your correct net file, make sure the cfg gets saved.. you can put a shared copy of the cfg some place else (i.e. with the net file), and point to both in your command file.. look at command-line options in the help

Steven Green
Senior Software Engineer
Paradox Support Specialist DOS/WIN

Prestwood IT Solutions
8421 Auburn Blvd, Suite 256, Citrus Heights, CA 95610
Office: 916-726-5675 | Fax: 916-726-5676 | http://www.prestwood.com
 Posted 87 days ago
Comment Quote
About Steven.G -Collapse +Expand
Visit Profile
Approved member.
Member subscribes to this thread with a verified email.

Post ID #18352 (Level 7) and Parent is 18334
Reply Posted 1/14/2021 11:59:30 AM
Location=Myrtle Beach, SC USA 
Joined=55 months ago   MB Posts=461  
gwatchmaker
none
-- USA

Steve, thank you so much for getting me pointed in the right direction.  What I have found (and pasted below) is some background information I found on line regarding these virtual stores.  It appears that my Server 2016 OS is attempting to prevent my applications from making changes to the program and programx86 folders and instead invisibly redirects to these VirtualStore directories at runtime.  The problem is I then have multiple .net files created which is intended to keep my users all separated from oneanother (but in the case of a shared database is a disaster).  The solution they suggest is pasted after the background.  I have done what they suggest and do not seem to create the multiple .net files anymore.  I am going to test with multiple users tomorrow.

Greg

Background

Windows Vista and Windows 7 User Access Control (UAC) introduced a feature called the VirtualStore which is designed to add an extra layer of security protection for applications installed under the Program Files folder. All changes made to files in, and any attempt add files to, the Program Files folder and sub-folders (directory and sub-directories) requires a special Administrative permission. This is done so that stray and possibly malicious programs and files do not intermix with or overwrite legitimate ones to insure that Program Files is always intact and not corrupted.

Applications often write configuration and other temporary files within their own installation folder or sub-folders during normal use. (Note: Some temporary files are not written to the application’s folder or sub-folders, and therefore aren’t affected by this.) Because UAC is designed to ensure that Program Files remains completely unchanged from when applications were initially installed, it prevents these files from being written and other changes from happening in all folders under Program Files. Instead, changes to configuration files and additional added or temporary files are written to the VirtualStore. This is located in the: /User/AppData/Local/VirtualStore folder, and corresponding sub-folders.

Solution

Inform Windows UAC that it can trust the application. This is probably the best choice if you're having this problem. Under UAC applications do not normally run under Administrative level access; they use User level access instead. (This is the way Linux and similar operating systems work.) However, you can tell Windows to trust your program at the User level and allow it a higher level of access than normal. This allows the application at the User level to write any changed or added files to its folder and bypasses the VirtualStore.

This is done by right-clicking on your application folder under Program Files. Then click Properties that appears on the context menu. The Properties dialog will appear. Click the Security tab and then select Users from the Group or User names: List box. The permissions for Users needs to changed, so click the Edit button. Select Users from the Group or User names: List box. Check the Full Control checkbox in Permissions for users:. Click through all the OK buttons and the permissions for users will be changed for the Git application.

 Posted 87 days ago (Thread Starter)
Comment Quote
About gwatchmaker -Collapse +Expand
Visit Profile
Membership pending.
Member subscribes to this thread with a verified email.
Member pending approval.
Web Presence Hidden.
Once above is taken care of, full Profile content will display including back links, about me, my message, custom Profile html, social networking links, message board signature, company profile, etc.

Post ID #18353 (Level 1.1)  Reply to 18352 and Parent is 18334
Thread Started 1/14/2021 1:04:42 PM
Location=-- USA 
Joined=5 months ago   MB Posts=12  
Moderator
Steven.G
Myrtle Beach, SC USA

sounds like a simple thing to test.. and it should work

Steven Green
Senior Software Engineer
Paradox Support Specialist DOS/WIN

Prestwood IT Solutions
8421 Auburn Blvd, Suite 256, Citrus Heights, CA 95610
Office: 916-726-5675 | Fax: 916-726-5676 | http://www.prestwood.com
 Posted 86 days ago
Comment Quote
About Steven.G -Collapse +Expand
Visit Profile
Approved member.
Member subscribes to this thread with a verified email.

Post ID #18354 (Level 8) and Parent is 18334
Reply Posted 1/15/2021 5:41:34 AM
Location=Myrtle Beach, SC USA 
Joined=55 months ago   MB Posts=461  
gwatchmaker
none
-- USA

Steve,  the test went well.  Only a single .net file was created and the VirtualStore .net files did not appear.  No database errors.  Your insight that this was a much larger issue that suggested multiple .net files was the key to me finding the solution.  Thank you.

One other quirk that this explains is something I noticed when adding database aliases in the BDE when I set the server up.  I noticed that if I started bdeadmin as an administrator, my aliases were created and available within Paradox.  If, though, I forgot to start as an administrator, I still could save aliases but they sometimes disappeared when another user logged in, then reappeared.  Going back in as an administrator... they weren't there either.  It was soooo strange.  It makes complete sense though because Server 2016 was creating multiple unique copies of my BDE config file in the VirtualStore directory.  The main one was only accessible when logging in as an administrator and the Virtual copies were accessible to users if they logged in as standard users and were invisibly redirected.  A good suggestion I will now follow is to put the BDE config file in a subdirectory that is out of the program and programx86 directory tree that the UAC looks at.

Thanks again

Greg

 Posted 86 days ago (Thread Starter)
Comment Quote
About gwatchmaker -Collapse +Expand
Visit Profile
Membership pending.
Member subscribes to this thread with a verified email.
Member pending approval.
Web Presence Hidden.
Once above is taken care of, full Profile content will display including back links, about me, my message, custom Profile html, social networking links, message board signature, company profile, etc.

Post ID #18357 (Level 1.1)  Reply to 18354 and Parent is 18334
Thread Started 1/15/2021 2:01:32 PM
Location=-- USA 
Joined=5 months ago   MB Posts=12  
Moderator
Steven.G
Myrtle Beach, SC USA

the Win7 UAC defaults, and how different settings affect other things, can be confusing

and yes, in general, I put cfg file and ini files in the folder with the net file, and point to them on the command line

good detective work !!

Steven Green
Senior Software Engineer
Paradox Support Specialist DOS/WIN

Prestwood IT Solutions
8421 Auburn Blvd, Suite 256, Citrus Heights, CA 95610
Office: 916-726-5675 | Fax: 916-726-5676 | http://www.prestwood.com
 Posted 85 days ago
Comment Quote
About Steven.G -Collapse +Expand
Visit Profile
Approved member.
Member subscribes to this thread with a verified email.

Post ID #18361 (Level 9) and Parent is 18334
Reply Posted 1/16/2021 6:48:32 AM
Location=Myrtle Beach, SC USA 
Joined=55 months ago   MB Posts=461  
Most Recent Post
grantr
-- CA

I also recently switched from Server 2003 to 2016 and encountered the same errors. It appears to have to do with the SMB sharing permissions. The new server uses v3, and blocks the older versions by default for security reasons. Flat file databases need to have the table directory permission changed from v3 to v2. This seems to have solved my issue. https://docs.microsoft.com/en-us/windows-server/storage/file-server/troubleshoot/detect-enable-and-disable-smbv1-v2-v3 Grant

 Posted 39 days ago
Comment Quote
About grantr -Collapse +Expand
Visit Profile
Approved member.
Member subscribes to this thread with a verified email.

Post ID #18437 (Level 10) and Parent is 18334
Reply Posted 3/3/2021 9:05:49 AM
Location=-- CA 
Joined=18 years ago   MB Posts=8   KB Comments=1  
Write a Comment...
Full Editor
...
Sign in...

If you are a member, Sign In. Or, you can Create a Free account now.


Anonymous Post (text-only, no HTML):

Enter your name and security key.

Your Name:
Security key = P1111A1
Enter key:
Icon: A Post    Thread    Idea    Important!    Cool    Sad    No    Yes    Includes a Link...   
Thread #18334 Counter
171
Since 1/7/2021

Follow PrestwoodBoards on: 


©1995-2021 PrestwoodBoards  [Security & Privacy]
Professional IT Services: Coding | Websites | Computer Tech