Ads Remote Server Info

This forum is for eXpress++ general support.
Message
Author
bobvolz
Posts: 114
Joined: Sun Jan 31, 2010 11:25 am

Ads Remote Server Info

#1 Post by bobvolz »

Hi all. When we switched to ADS we were no longer able to use the Windows function called "OPENFILES.EXE' .This program ran within a batch file and returned an array of all files opened on the server
with the user name that had them opened. I was able to process the array into a small dbf file. The bat file ran every 30 seconds on the server. From within my xBase++ app I could read the dbf file
to see who had a given file opened when I needed exclusive access of a given file. There are a few files in my system that require exclusive access for certain batch updates. Right now the only way I see to get this same 'who has what opened? ' is using the Tools Remote Server Info with the ADS Architect. Obviously not everyone has this program on their client PC.

Is there a command line ADS function or method or .exe etc that can be launched from within an xBase++ program or from (runshell etc) that would perform like Windows OPENFILES.EXE ?

Thanks for any help.

Happy New Year as well.

Bob Volz

User avatar
rdonnay
Site Admin
Posts: 4729
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Ads Remote Server Info

#2 Post by rdonnay »

Look at C:\Users\<your user id>\Documents\Xbase++\source\samples\adsdbe\console\adsmgmt.exe
The eXpress train is coming - and it has more cars.

bobvolz
Posts: 114
Joined: Sun Jan 31, 2010 11:25 am

Re: Ads Remote Server Info

#3 Post by bobvolz »

Hi Roger;
That ADSMGMT.exe is great but it only shows what files are opened. It doesn't show who has them open. Is there something I'm missing?

Bob Volz

User avatar
Tom
Posts: 1170
Joined: Thu Jan 28, 2010 12:59 am
Location: Berlin, Germany

Re: Ads Remote Server Info

#4 Post by Tom »

Bob, there is a ADSMG.DLL coming with that, and you can use functions from it to find out what you want to know.

AdsMgGetUserNames() tells you who is using the ADS currently, and in combination with AdsMgGetOpenTables(), you will get information about which user uses which table (or index or lock or whatever). You will need to create an AdsMgConnect() first and walk through all needed functions afterwards. I remember there was a help file explaining all this, but you may also take a look at the sources of ADSMGMT.EXE, which come with the sample. It's quite easy.
Best regards,
Tom

"Did I offend you?"
"No."
"Okay, give me a second chance."

User avatar
rdonnay
Site Admin
Posts: 4729
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Ads Remote Server Info

#5 Post by rdonnay »

Whenever I get some time, I will try to integrate this into SqlQuery, but for now I'm rather busy.
The eXpress train is coming - and it has more cars.

bobvolz
Posts: 114
Joined: Sun Jan 31, 2010 11:25 am

Re: Ads Remote Server Info

#6 Post by bobvolz »

Thanks Tom and Roger. I will try these things out.
They would be nice additions to express as well.

Bob Volz

User avatar
Tom
Posts: 1170
Joined: Thu Jan 28, 2010 12:59 am
Location: Berlin, Germany

Re: Ads Remote Server Info

#7 Post by Tom »

Bob, the ADS is coming to it's end. SAP stopped the development three or four years ago; they are still selling it, but there will be no future improvements anymore. It's getting harder and harder to sell this exotic technique, although it has some advantages and is rock solid. Real SQL servers are the only database systems that do make sense, file based stuff is outdated. Since the PGDBE/ISAM approach from Alaska finally came to a point where it is really usable, we all should get rid of ADS and go there. I know Roger loves to help whenever he can, but, please, don't ask him to add that kind of feature. The time would be wasted.
Best regards,
Tom

"Did I offend you?"
"No."
"Okay, give me a second chance."

User avatar
rdonnay
Site Admin
Posts: 4729
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Ads Remote Server Info

#8 Post by rdonnay »

I know Roger loves to help whenever he can, but, please, don't ask him to add that kind of feature. The time would be wasted.
Tom -

I agree that my time would be wasted putting any of this into eXpress++ and I don't want to break anything.

However, SqlQuery is a utility that I don't mind experimenting with, provided that it doesn't consume me.
After looking at the AdsMg* functions, I don't think I want to add a bunch of stuff that will be valuable to only 1 person.

I agree with you on the future of ADS, this is why your review of PGDBE gives me some hope.
I would very much like to take a large app like Bobby's Medallion and work on converting it to PGDBE, however it would need to stabilize first, and it is not easy to do this when always shooting at a moving target. The city of New York, covid restrictions, taxi regulations, competition, et. al. ensures that it is a monumental task to go into maintenance mode.

If we could hybridize it by converting only stable areas of the app from ADSDBE to PGDBE, then maybe this would be a good start. What do you think of this idea?
The eXpress train is coming - and it has more cars.

User avatar
Tom
Posts: 1170
Joined: Thu Jan 28, 2010 12:59 am
Location: Berlin, Germany

Re: Ads Remote Server Info

#9 Post by Tom »

Hi, Roger.

We currently support all three engines - DBF, ADS and PG. Our goal is to get rid off two of them until the end of this year.

Bob -
instead of creating wrapper functions for ADSMG.DLL, you may use SQL statements to get some infos from the ADS, which should works even if you don't use the DD - and it's much more compact. Look at this message from the german Xbase forum:

https://www.xbaseforum.de/viewtopic.php ... 94#p118194
Best regards,
Tom

"Did I offend you?"
"No."
"Okay, give me a second chance."

User avatar
rdonnay
Site Admin
Posts: 4729
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Ads Remote Server Info

#10 Post by rdonnay »

Tom -

Using SQL for this is a great idea.
Thanks for that link.

So simple and a very easy addition to SqlQuery.
The eXpress train is coming - and it has more cars.

Post Reply