Link to home
Start Free TrialLog in
Avatar of forwiw2day
forwiw2dayFlag for United States of America

asked on

Visual FoxPro Ver 9. What is UDDATA.PRG?

Experts,

We have outsourced a programmer years ago, (no longer can contact) that has developed a database for our company in Visual Fox Pro Version 9.  A network user cannot access the Visual FoxPro database and as a result, a window is displayed that says a file XXXXX.exe cannot be found.  

Looking in the network folder for the database, the file XXXXX.exe is clearly there.  What I noticed that's different is if another network user that CAN access the database, the XXXXX.exe file displays a different Icon picture.  The file XXXXX.exe is there for a 'valid' network user that CAN access the database; and for a 'valid' network user that CAN'T  access the database, but the icon is different.

I also noticed that the file XXXXX.exe has the same date modified as another file in the database UDDATA.PRG.  I have no idea what UDDATA.PRG is?

Does anyone have a suggestion?
SOLUTION
Avatar of Pavel Celba
Pavel Celba
Flag of Czechia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of forwiw2day

ASKER

pcelba,

Gave that a try, I opened the network share/security on our file server, for both network users, and they are the same.  Also, I did create a new network user, on our file server,  compared the share/security (same) and it still will not open the FoxPro database.

I am able to open the FoxPro database, and within the system, there is a Tool drop down, then Utilities, then System Security.  Once this is opened, it will list all the network users and their access to the database from within FoxPro.
I did check both network users, in FoxPro (one that works and the other user that doesn't work and the new network user id that I added) and they all have the same access.  This is what is so puzzling???

I even checked the database named folder on our network, and all the share/security for the network users are the same.

Could there possible be a limit to the number of network users in FoxPro?

Could running the UDDATA.PRG, update the FoxPro system in a way that would enable the changes
in the Tools, Utility, Security, to be applied to the XXXXX.EXE file to allow access?

The XXXXX.exe is the application program name that was created via FoxPro to start the program.

The icon change (for XXXXX.exe) shows the company name when allowed to access the FoxPro database.  If a network user cannot access, the icon looks like a small msdos window.

Thanks for all your help!
Olaf,

I will have to check on the mapping.  On my system, I do have a mapped drive to the FoxPro database that's stored on our file server.  I will have to get back to you on that, one day next week, as I will be
out of the office until next Wednesday.  Then it will be catch up, then I will make sure I check this and will post back.  

Thank you for your help!
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Experts,

Sorry for the delay, as I was out of the office.  I did test the new network user id that I created and checked to see when the user logs onto our network, there is a shared drive to the FoxPro database folder.  So the network map is there, I checked the new network user and compared to an existing network user that can open the database, and from what I can tell, all the share/securities are the same.

I was able to open the .PRG file via wordpad and can see how the source code starts:

**********************************
CLOSE DATABASES ALL
SET SAFETY OFF
SET TALK OFF
SET STATUS BAR OFF
SET ESCAPE ON
CLEAR

lcDataFolder=IIF(DIRECTORY("C:\_TIM"),"LData","Data")
SET DEFAULT TO (lcDataFolder)

OPEN DATABASE xxx
SET DATABASE TO xxx

*****************************************

It repeats the above over and over, but has different functions, like alter table, select, scan, delete, update, browse, insert... etc.  rather lengthy.
I did "edit, find" within the code to see if any current network user names are listed, but didn't find anyone.  My network user name will open the database and I'm listed as a supervisor within FoxPro (once it starts).

What I did notice within the database folder is the xxxx.exe file name that starts/opens the FoxPro database.  There is also another file xxxx01.exe.  Both of these files have the company logo icon (IF the Network User Can Access the FoxPro Database).  IF a network user cannot access the FoxPro database, the xxxx01.exe file has an icon of a small ms dos window.  The UDDATA.PRG file has the same date modified as xxxx01.exe, but NOT xxxx.exe.

This is something probably so simple I just can't see it.  This is very frustrating, as we do not need to change anything with the FoxPro database, we just need to add a new employee (new network user) and access the FoxPro Database.  I've done this before, but it's been a very long time ago!!! and it did work!!!

jrbbldr: I'm the one testing a current (older) network user that works and new network user (that I can't get to work), both from my computer, not from a shortcut, but from double clicking the xxxx.exe file.  I've checked active directory, shares, security, and thought I have the new network user and properties that same as the older user.  DId notice that the new network user that can't open the FoxPro database, I get a message that xxxx01.exe does not exist, (even though the file is in the FoxPro database)  It's like after you DC on xxxx.exe it checks "something".

Both files xxxx.exe & xxxx01.exe will have the company logo icon, IF the network user CAN access the FoxPro database.  If the network user can't open the database, xxxx.exe has a company logo icon, but the xxxx01.exe has a icon of a small ms dos window?

Olaf:  No documentation to be found.

Pcelba:  Any keyword that I could possibly search on?  Access Rights, Where?  Could there be something with our file server?  

Thank you all for your suggestions,,, I'm not giving up!
Olaf:  Yes there are occurances of DBC inside the .PRG file (17 of them-mostly with copy structure).  I also searched for xxxx01.exe and didn't find a reference to this file name.

pcelba:  I have checked a network user that can access the VFP database and compared it side by side (screen shots) of a network user that can't access the VFP database and can't seem to find a difference.  Where else could I possibly look?  To start the VFP database xxxx.exe is used, but if xxxx01.exe can't be found (which is really in the database folder-but does not have the company logo icon) a message appears that states xxxx01.exe cannot be found, and the program ends.
I was thinking, is there a way for me to "see" what the code is in the file xxxx.exe?
May help determine why network users can't access VFP.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
pcelba:  Thanks, I'll give it a try, and post back!
jrbbldr:  The data "security" table has been modified, (within VFP) as I did add the new network user with the same valid applications selected, as the (older) network user that can open and access the VFP database.  Within VFP there is an option for sysytem error log, which I did read through.  It gives dates, network user id, and a description of the system error that occurred, this is the latest error with my network user id:

TABLEUPDATE() failure...//E(1).      1884//E(2).Uniqueness of index T1 is violated.//E(3).T1//E(4).         1//E(5).NULL

So what I gather from that is that the table update failed?  I do not know if this is associated to the new user that I added or something else?  But what I do know, is when I did add the new user, the system did not display any error messages at that time, it accepted the new user (add), then I clicked on save.  If I go back into the tools, utilities, and select system security, the new network user is shown along with all the other previously entered (older) network users.

Also, what I just tried is I can open (start the VFP database) with both xxxx.exe and xxxx01.exe.  Why there are two exe files that can separately start VFP is beyond me?
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Ohaf:  Effective Permissions Tab Tested: Old user, New User, and Myself (network user ids) All boxes are checked for xxxx.exe & xxxx01.exe, BUT none are checked for xxxx01.exe for the New User!!!

Jbbldr:  So you were able to use a working User and add the New User within the VFP Application?  YES

* Or did the TABLEUPDATE() failure occur coincidentally at that same time?  Possibly, as I have been testing/working on this for about a month.  

I opened the VFP application this morning and edited several network user names in the security application, then clicked save.  Got out of the application, started back up again and checked if what I changed was saved and it was.  Then I went into the security application again and selected system error log and there was an entry after I edited the security network user information:

Error building key for index "c:\docume~1\networkusername~1.hyd\locals~1\temp\z_0hmy8o.idx".
ID() Network Machine Name:S0034456183 # networkusername
Current Directory:\ // Start Up Directory:M:\
Error Para: "C:\DOCUME~

Pcelba:  I did download and install the process monitor application.  Started the monitor, started VFP with my network user id, and then did a filter for xxxx.exe.
Wowww, there is a lot of info here...  Looked at this info yesterday evening for about an hour!

Did the same thing for the new network user id for xxxx.exe and tried my best to compare the two filter results.  I started to go line by line, but that got way to confusing, but I did notice that with the new network user id there was a result for "Name Collision" that was NOT under my network user id for the process monitor results:

Date & Time:      6/3/2014 3:48:49 PM
Event Class:      File System
Operation:      CreateFile
Result:      NAME COLLISION
Path:      C:\Documents and Settings\netname\Application Data\Microsoft\Visual FoxPro 9
TID:      2324
Duration:      0.0001266
Desired Access:      Read Data/List Directory, Synchronize
Disposition:      Create
Options:      Directory, Synchronous IO Non-Alert
Attributes:      N
ShareMode:      Read, Write
AllocationSize:      0



Also, early in the filter results my network user id had loaded two "image" lines, and the new network user only had one load "image" line?  My results file size was much, much larger than the new network user id, that can't access VFP.

I did not go through this with a fine tooth comb, but tried to visually see where the differences were.

BUT, if this means anything to the Experts, when a network user opens the mapped network drive for the VFP folder I can tell right away if that network user will be successful in being able to start xxxx.exe as xxxx01.exe will have the icon of a small ms dos window.  If I see that, I know that user will not be able to access VFP.

forwiw2day
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Experts,

I can't change the "effective permissions" for file xxxx01.exe.  I tried on my computer and I even went to our file server and logged on as the domain administrator.

Scenario:  Compared active directory network users (new user, older user & myself) - same security/permission settings.
Checked the VFP mapped drive folder on file server - same security/permission settings.
Checked file xxxx.exe - same security/permission settings.
Checked file xxxx01.exe - Interesting but the new network user is NOT listed in the security tab, Old user and myself are shown.    Can't add the new network user, check name is dimmed, ALL security permissions shown are dimmed.  Effective permissions tab will show old user and myself, NOT dimmed, but can't change any check boxes either.  Locked tight?

I'm thinking that maybe the VFP file or index is damaged and/or corrupt?  Even though VFP did allow me to add the new network user, there is something between VFP and network user name that it needs to update xxxx01.exe for the new user to allow access to VFP.  (My guess)

While I was scanning through the process monitor results, I did see a file called  foxuser.dbf.  Is there a way I can 'see' what info is inside this file?

I'll keep looking at the process monitor file...
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Jrbbldr:  OMG, OMG, OMG!!!

Experts:  you won't believe this!!!

With jrbbldr's last request, I was about to copy my network user id, when I noticed that the past developer's network user id and (since lost contact years ago) the user id has been disabled.  Then, I thought, what would happen if I re-enabled it?  Which I did.  Logged on as developer, Right Clicked the xxxx01.exe file, and I was able to add the new network user (which I couldn't get to work before) in the Security Tab, with full permissions.  (Tested this on my pc, not our server)

Logged out and back in as new user and there is was, the company logo icon displayed for file xxxx01.exe.  Seeing that I knew it would work, so I started the VFP file xxxx.exe and the new user now has access -- Thank You!!!

I'll continue to test the VFP application and make sure that the new user can complete all necessary options within the system.  
Later I'll test adding a new user with MY Network Userid while the developer's network user id is still enabled and see if that will work?  

I'm ending this question and truly Thank ALL the Experts for their great ideas, suggestions, knowledge, and support to the very end, didn't leave me hanging!!!

Still don't know why it works now, but it works.  I just remember not having to go through all this before when new users were added to our network and to the VFP system (as that was years ago).   We have an old file server, Server 2003, still operating.

Thank You, Thank You!!!  I'll split points...
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Great Help by ALL Experts!