Is there a portable ADS with an ISAM interface?

This forum is for eXpress++ general support.
Message
Author
User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Is there a portable ADS with an ISAM interface?

#1 Post by Eugene Lutsenko »

Is there a portable ADS with an ISAM interface? I would like to switch from simple dbfs to ADS. This is due to strict restrictions on the size of dbf files in 2GB. But the Eidos system, which I am developing, is very often used on computers on which I cannot install anything. These are university computers located in computer classrooms. Therefore, it would be very important for me to be able to use ADS without installing it (portable). In addition, I would like to use the familiar database interface: ISAM, not SQL.

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

Re: Is there a portable ADS with an ISAM interface?

#2 Post by rdonnay »

Yes, you can use the local server.
This is a dll name ADSLOC32.DLL.

It performs most of the functions of the remote server including all SQL features.

Read my document: http://bb.donnay-software.com/ds/articl ... ide_wp.pdf

You don't need to know everything in this document to simply convert to ADS.

What you will need is the Xbase++ Professional Subscription. It contains the ADSDBE.

Do you have a DBESYS.PRG file?

If so, send it to me and I will make the modifications.
Which database engine are you using now?
The eXpress train is coming - and it has more cars.

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Is there a portable ADS with an ISAM interface?

#3 Post by Eugene Lutsenko »

Hi, Roger! I have all this, and files, and a subscription. Should I send it to the post office? File date: dbesys.prg - 04.11.2010-9:15.

I have already made an unsuccessful attempt to master ADS in 2013. I then wrote on the forum: Could someone give examples of programs that provide work (basic functions for working with databases) with ADS in the ISAM interface using ADSDBE:
1. Creating a database based on the structure specified in the array.
2. Adding and deleting records.
3. Adjusting the values of the record fields.
4. Creating an index array.
5. Search the database by key using an index array.

All this is of great interest to me even when using ADS locally, that is, on a local computer. It is interesting, of course, to try it on a local network, and especially when hosting databases on a web server on the Internet.

Of particular interest to me is the possibility of creating very large databases, much larger in size than 2 GB, with a very large number of fields, up to 16,000, and preferably up to 30,000.

I'm not getting anywhere yet. An example of the curriculum is below.

That's exactly what I need:

"Conclusion
Xbase++ legacy applications can be given new life by utilizing inexpensive resources available in the ADSDBE from
Alaska Software and Advantage Database Server from Sybase. Advantage provides the performance and reliability
of client/server technology and the ability to apply the most advanced features of SQL without any redesign of an
existing application. Legacy code can be maintained and supported even while adding new features like transaction
processing, SQL queries, data replication and data encryption. Legacy databases can be queried and updated using
the most advanced SQL techniques or the more familiar ISAM techniques thereby providing a bridge to the future of
application development."

User avatar
Auge_Ohr
Posts: 1406
Joined: Wed Feb 24, 2010 3:44 pm

Re: Is there a portable ADS with an ISAM interface?

#4 Post by Auge_Ohr »

hi,

where is the Limit of
ACE32.DLL (Advantage Client Engine, 32-bit) and AXCWS32.DLL (Communications Layer, 32-bit
greetings by OHR
Jimmy

User avatar
slobodan1949
Posts: 80
Joined: Mon Apr 25, 2011 8:57 am
Location: SERBIA
Contact:

Re: Is there a portable ADS with an ISAM interface?

#5 Post by slobodan1949 »

I really apologize to the esteemed professor Eugene Lutsenko, because this topic interested me,
but it seems that his first question (first post), and especially his second question (answer given to Roger)
I couldn't understand well.

The following confuses me:


- programming in Xbase ++ and eXpress ++ in file system mode, without the use of a database server
is what is known and what is the default Xbase ++ mode


- Xbase ++ and sXpress ++ a program or application written for such work uses a windowsow file
system and can work in a LAN using mapped disks (as DOS used to do)


- In order for such an application to work under an ADS server (whether it is a remote ADS server or local
ADS server or ALS server) only a certain number of lines of code should be added to it at the start of the application,
which it connects to the ADS server. Also, the application should contain the ADSDBE database engine.
After that, everything in the application works flawlessly and it works through the ADS server (Advantage Database
server) or ALS (Advantage Local Server).


- So, there is no need to change or add anything further in the existing default Xbase ++ application to
the same application worked with ADS / ALS server. Therefore, everything that Professor Lustenko stated after
points in response to Roger's post will work without any problems.


- As for the remote ADS server, it cannot be used without prior installation on the computer in which
is a DBF / NTX or DBF / CDX database whether it is a remote computer server connected to
a large number of client computers, whether it is just one local computer running Xbase ++
the application runs under an ADS server. The ADS server cannot be used online in internet.
There is a version for that of this server called AIS (Advantage Internet Server).


- Local ALS server can be used without ADS server and is intended for use instead of ADS server.
The ADS server (currently owned by SAP) costs around 900 EUR
The ALS server is free and consists of only two files: adsloc32.dll (1,851 Kb) and adsloc.cfg
The ALS server works identically to the ADS server, but runs over the TCPIP protocol and can support up to 5
computers on the network. The ALS server behaves and works as an integral part of Xbase ++.
If with runtime Xbase ++ applications deliver and file adsloc32.dll, then you have ready to work ALS server.


Since 2002, I have been making business and bookkeeping applications using ALS and ADS servers. That are
applications that run locally (without ALS and ADS servers) when ALS and ADS servers are not present (or
when present but excluded). When ALS and ADS servers are present and turned on, the same applications
access DBF / NTX and DBF / CDX databases through these servers. He worked out this technique especially well
Roger Donnay in numerous examples of his DBESYS.PRG files.


I used a simple ON / OFF switch
When the application starts, it first checks if there is a file on the disk called: ADS
- if the ADS file exists in DBESYS.PRG, ADSDBE and FOXDBE or ADSDBE and DBFDBE are activated.
- if the ADS file does not exist in DBESYS.PRG, FOXDBE or DBFDBE is activated (default)
Everything else in the application works without any changes in either case


CONCLUSION

For that reason, the questions and answers to those questions in previous posts are unclear to me.
I probably didn't understand something well - probably due to inadequate translation, so please
Professor Lutsenko to clarify the issue.


P.S.
In recent years, I have tested working with a remote ADS server where a DBF / NTX database is installed
on a computer server in the company, and a remote ADS server is installed in the same computer server,
as well as a business application that uses a database via a remote ADS server. Clients respectively
users of the application access the application via the Internet via the WINDOWS REMOTE DESKTOP SERVICE
WINDOWS RDP. This proved to be an extraordinary solution. Access is fast, data manipulation
are fast and real-time. The client user must have only Windows 7 or 10 on their computer
and Web Browser.
There is no installation of the program by the user and replacement of the program with new versions.
Everything this is done only on the server computer. Data archiving is done on the server, and can be done
and on client computers. In other words, there is no need to think about web applications, if
you have a ready-made application in Xbase ++ and you want it to work over the Internet.
Note: In this case, the computer server must be a real server machine and the operating system
it must contain WINDOWS SERVER 2012, 2016 or 2019.

See examples at:
www.cobasystems.com

You can find and download it in any package of my programs that are on www.cobasystems.com
ALS server and complete client engine ACE32.DLL for remote ADS server version: 10.10.00.49
files:

ADS.INI // ADS/ALS configure

ace32.dll // ADS remote client
ace32.lib
axcws32.dll
aicu32.dll
ansi.chr
extend.chr

adsloc32.dll // ALS Advantage Local Server
adslocal.cfg


I am also enclosing an excellent program here:
TServerXMLHTTPRequest.prg
(Pablo Botela by ot4xb.dll)
which can only be found on the internet if you are a gifted detective,
and on German forums those who used it had no desire to give it away.
The program is an integral part of the ot4xb.dll library
and is used to send XML and JSON files to WEB services (now this is a trend)
Attachments
TServerXMLHTTPRequest.zip
(2.63 KiB) Downloaded 249 times

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

Re: Is there a portable ADS with an ISAM interface?

#6 Post by rdonnay »

It is interesting, of course, to try it on a local network, and especially when hosting databases on a web server on the Internet.
The local server DLL is capable of the large databases but only on a local area network or standalone workstation.

If you want to use ADS on a remote server, then you must purchase a license for the number of concurrent connections.
In that case you will install ADS server and can access it via the internet.
a very large number of fields, up to 16,000, and preferably up to 30,000.
ADS will not solve this problem for you.
You must think of a different solution and forget about DBF databases.
Why do you need so many fields?
The eXpress train is coming - and it has more cars.

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Is there a portable ADS with an ISAM interface?

#7 Post by Eugene Lutsenko »

I wrote about the use of ADS on the web and the Internet in 2013. I wrote about it that this is part of the 2013 message. I'm not really interested in that right now. Now the main thing for me is to work with databases significantly larger than 2 GB and with the number of fields significantly more than 1500. I need so many fields because it's easier for me to program processing of matrices of very large dimension. Now I use my own database format for this, which I developed myself. But it's inconvenient for me to use it everywhere in the program, and I need it. I don't care if it's dbf. I understand that you can use ADS or its local version of ADL for this. How can this be done using ADS/ADL in the ISAM interface? This interface is more familiar to me than SQL. I have everything done in ISAM. I'm ready to give up DBF

I apologize for the translation errors. I have never had a chance to master English at an acceptable level in my life. For me, all my life, English has been about like the language of the inhabitants of Mars. But now it's needed... when I'm already old. Slobodan! And where do you live in Serbia, in which city?
Last edited by Eugene Lutsenko on Sun Dec 26, 2021 10:32 pm, edited 1 time in total.

User avatar
Auge_Ohr
Posts: 1406
Joined: Wed Feb 24, 2010 3:44 pm

Re: Is there a portable ADS with an ISAM interface?

#8 Post by Auge_Ohr »

hi,

as i can say the Problem is 32 Bit which limit you at 2^32
you can use 64 Bit Function when "translate" Type LongLong to use with 32 Bit.

a File can be 2 GB but you have less Record so i can use a 7 GB *.CSV File with have 70.000.000 Lines (Records) under 32 Bit.

---

you can (f)create a File and (f)write > 2 GB
you can (f)open a File > 2 GB and (f)read but FSEEK() "end" at 2 GB

Ot4Xb have CLASS TBinfile() which can handle File > 2 GB
you find Demo and Source of Class DXE_VirtualArray which use TBinfile() to "show" and "navigate" at Pablos Newsgroup or
http://news.xb2.net/ng.php?search_txt=& ... 4xb.public

p.s. have not try to use 1500 FIELD(s) but Class DXE_VirtualArray should work with it
greetings by OHR
Jimmy


User avatar
slobodan1949
Posts: 80
Joined: Mon Apr 25, 2011 8:57 am
Location: SERBIA
Contact:

Re: Is there a portable ADS with an ISAM interface?

#10 Post by slobodan1949 »

Dear Professor Lutsenko,
I am in Serbia in the city of Negotin on the Danube, on the border of Serbia, Romania, Bulgaria.

First of all, my English is based on the Google Translate tool, so please forgive me for any mistakes and ambiguities.

I had similar problems. First I tried to replace DBF with SQLite using Alaska Xbase ++ and eXpress ++ code. After a while I gave up. That didn't solve my problems. Then I tried Oracle Apex without using Alaska Xbase ++ and eXpress ++ code. That didn't solve my problems either. Now I'm trying intensively with Alaska Xbase ++ and eXpress ++ and with PostgreSQL. As this business unfolds, I am increasingly convinced that I have a chance of success.

If you opt for PostgreSQL I will be happy to send you the code for everything I have done so far with that database using Alaska Xbase ++ and eXpress ++. And in addition we have at our disposal a great job that Roger has done with his SQLQUERY.DLL.

I personally think that there is no other solution for Alaska Xbase ++ than the PgSQL database. This seems to be the opinion of the creators of Alaska Xbase ++, and as far as I can see, Roger.

Post Reply