HbNetIO and LetoDBF

354 views
Skip to first unread message

Jayadev U

unread,
Jan 13, 2022, 12:27:44 AM1/13/22
to harbou...@googlegroups.com

Hi,

 

One client has Linux (Open Suse 15.3) server with Samba and window clients (Win 7, Win 10, Win 11 etc).

 

Data files are DBF with more than 400,000 records in some. There is occasional loss of data in transit  (Local Lan).  What is the best option, should I use HbNetIO or LetoDBF to overcome the problem.  SQL is not an option right now.

 

Warm regards,

 

Jayadev

 

Rafa Pabd

unread,
Jan 13, 2022, 3:49:03 AM1/13/22
to Harbour Users

Hi,

IMHO, heavy use of cables and dbfs are deadly I use rdp. I have dbfs with 40.000.000 records and there is no corruption problem

Regards

Alex Strickland

unread,
Jan 13, 2022, 4:33:31 AM1/13/22
to harbou...@googlegroups.com
On 2022/01/13 10:49, Rafa Pabd wrote:
IMHO, heavy use of cables and dbfs are deadly

I think that is very well said.

--

Regards

Alex


poopall

unread,
Jan 13, 2022, 6:37:13 AM1/13/22
to Harbour Users
Use winflector as a RDP

Francesco Perillo

unread,
Jan 13, 2022, 8:03:32 AM1/13/22
to harbou...@googlegroups.com
I have a linux server with samba, clients with windows 7 and 10 (but no 11) and I have had just a couple of problems in the last 20 years.... but I have 20 users, the lan is quite simple, and theapplication usage is very light.

Which kind of problems do you have? I'm not able to decode " There is occasional loss of data in transit  (Local Lan)."

Clients are PC or notebooks? How many of them?

I'm interested in porting my app to HBNetIo or Letodbf in order to remove samba for the DBF...  Sql would be a better choice but my programs should be heavily modified, not only in the code but also for the user-facing forms...


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/harbour-users/005d01d8083e%244977c450%24dc674cf0%24%40gmail.com.

Vikram Chhajer

unread,
Jan 13, 2022, 12:35:09 PM1/13/22
to Harbour Users
Hello 
i Use Winflector but when i create pdf with the help of pagescript  it terminate the programe , this issue also i face . If Veiw in tbroswe its works or   print but when i used to create pdf with pagescript it terminate the programe . Any Soloutions Please suggest .

THANK YOU IN ADVANCE

VIKRAM 

Mario H. Sabado

unread,
Jan 13, 2022, 4:07:27 PM1/13/22
to 'elch' via Harbour Users
HI Jayadev,

In my case, accessing my application from Windows clients via Samba works fine but I have observed that the performance slows down when concurrent users are >30.  Randomly, I also encountered "read error" when opening dbf files.  Accessing via Wi-Fi is also very slow with frequent abnormal termination of the application.

I have switched to LetoDBf and so far it's been working fine for a few years now.  Even the Wi-Fi access is more stable now although slower than cable.  One setup that I have now is on the Cloud with separate instances for Linux Server and Windows Server for RDP with 600+ concurrent sessions (~300 physical users) on the application without complaining about the performance.  Just be mindful that you need to adjust the RAM based on the maximum users and concurrent sessions.  The current RAM for this setup is 60GB.  30GB RAM is only stable for ~100 physical users and ~300 concurrent sessions. The DBFs for this application is only max 120 (excluding indexes) and 15M+ records on one of the DBF files.

I guess the one advantage of LetoDBf over HbNetIO is the server console utility where you can monitor the active sessions.

Regards,
Mario


--

Jayadev U

unread,
Jan 17, 2022, 1:49:42 AM1/17/22
to harbou...@googlegroups.com

Hi Mario,

 

Many thanks for the inputs.

 

>>I have switched to LetoDBf and so far it's been working fine for a few years now.  Even the Wi->>Fi access is more stable now although slower than cable.

Is this for the physical Linux Server (which one) and Windows clients connected by cable ?

 

>>One setup that I have now is on the Cloud with separate instances for Linux Server and Windows >>Server for RDP with 600+ concurrent sessions (~300 physical users) on the application without >>complaining about the performance.

 

Since you are using RDP for connection, whether LetoDBF or HBNetIO is required ? Is there any advantage ?

I guess the one advantage of LetoDBf over HbNetIO is the server console utility where you can monitor the active sessions.

>> That is good to know.

 

Warm regards,

 

Jayadev

 

Jayadev U

unread,
Jan 17, 2022, 2:19:16 AM1/17/22
to harbou...@googlegroups.com

Hi Francesco,

 

Thanks for your reply.

 

>>Which kind of problems do you have? I'm not able to decode " There is occasional loss of data in >>transit  (Local Lan)."

One is the read error as has been mentioned by Mario also.  Secondly Random Dos Error 64 in accessing DBF files. 

The most important being that in the program when an invoice is saved, certain balance get updated in Debtors Masters, however what happens is arbitrarily while the invoices are getting saved correctly, the Debtors masters are not getting updated (physical logging of the lines where the program performs these operations shows that the program is correctly processing the relevant lines of code,but the actual balance is not getting changed).

Randomly, the records in the Debtors Master are getting deleted without any pattern. ( I have checked all the delete statements in the program).

 

Similar problems do not happen when the program and data is mounted on a windows share. Everything works correctly.

 

I can send the Samba configuration file if you so desire. 

 

>>Clients are PC or notebooks? How many of them?

Clients are Win7, Win 10 64 bit PCS.  About 30 of them.

 

I'm interested in porting my app to HBNetIo or Letodbf in order to remove samba for the DBF...  Sql would be a better choice but my programs should be heavily modified, not only in the code but also for the user-facing forms...

 

There is an excellent option for you to try, “MEDIATOR (100 users license is free)” which will allow you to migrate your program to MYSQL with minimum changes in your code.  I have done this kind of set up for multiple clients in Windows Scenario, However for Linux Servers, I am yet to test.

 

Warm regards,

 

Jayadev

 

Mario H. Sabado

unread,
Jan 17, 2022, 2:48:47 AM1/17/22
to 'elch' via Harbour Users
Hi Jayadev,

>>I have switched to LetoDBf and so far it's been working fine for a few years now.  Even the Wi->>Fi access is more stable now although slower than cable.

Is this for the physical Linux Server (which one) and Windows clients connected by cable ?

-physical Linux Server is where the application and LetoDBf resides.  Clients are Windows majority are cable with few laptops

 

>>One setup that I have now is on the Cloud with separate instances for Linux Server and Windows >>Server for RDP with 600+ concurrent sessions (~300 physical users) on the application without >>complaining about the performance.

 

Since you are using RDP for connection, whether LetoDBF or HBNetIO is required ? Is there any advantage ?

-Since the app is compiled in Windows, users connect to the Windows instance via RDP.  The application being run on the RDP terminal connects to LetoDBf on a Linux server (separate instance).  LetoDBf/HbNetIO process data via TCP/IP protocol.  It's also faster and more secure since the database is not exposed to the client terminals.  Using a shared drive/folder to run your application, you need to provide a read/write access on the shared files and this is one of the risk.


I guess the one advantage of LetoDBf over HbNetIO is the server console utility where you can monitor the active sessions.

>> That is good to know.


Regards,

Mario


Jayadev U

unread,
Jan 17, 2022, 3:58:15 AM1/17/22
to harbou...@googlegroups.com

Thanks Mario,

 

I have now understood your setup. 

 

The RDPs are to the windows clients and not to the Linux server hence you have used LetoDBF for communication between Windows Clients and Linux Server removing the need for Samba share on Linux Server of DBF access.

 

Thanks for clarifying.

 

Warm regards,

 

Jayadev

Francesco Perillo

unread,
Jan 19, 2022, 5:43:55 PM1/19/22
to harbou...@googlegroups.com
Hi,

On Mon, Jan 17, 2022 at 8:19 AM Jayadev U <ujay...@gmail.com> wrote:

The most important being that in the program when an invoice is saved, certain balance get updated in Debtors Masters, however what happens is arbitrarily while the invoices are getting saved correctly, the Debtors masters are not getting updated (physical logging of the lines where the program performs these operations shows that the program is correctly processing the relevant lines of code,but the actual balance is not getting changed).

Randomly, the records in the Debtors Master are getting deleted without any pattern. ( I have checked all the delete statements in the program).


It seems a problem of oplocks and caching.  There were some TREGKEY settings but I never used it. On samba the relevant settings in my config are:
        wins support = Yes
        locking = yes
        strict locking = yes
        oplocks = no
        blocking locks = yes

To be honest, I rarely, once in 2/3 years, I have a problem in a situation like yours, a multi step process hangs and it is not clear why.

The only way to be safe is to use transactions.


 

Similar problems do not happen when the program and data is mounted on a windows share. Everything works correctly.


Because the clients and the server can sync caches?

 

I can send the Samba configuration file if you so desire. 

 

>>Clients are PC or notebooks? How many of them?

Clients are Win7, Win 10 64 bit PCS.  About 30 of them.


I have about 20. Notebooks but connected via lan, absolutely NO WIFI. No wifi at all.

 

I'm interested in porting my app to HBNetIo or Letodbf in order to remove samba for the DBF...  Sql would be a better choice but my programs should be heavily modified, not only in the code but also for the user-facing forms...

 

There is an excellent option for you to try, “MEDIATOR (100 users license is free)” which will allow you to migrate your program to MYSQL with minimum changes in your code.  I have done this kind of set up for multiple clients in Windows Scenario, However for Linux Servers, I am yet to test.


If mysql server is hosted on linux or windows there should be no difference. But it'd be probably better to move to pure sql code.

Francesco Perillo

unread,
Jan 19, 2022, 5:58:26 PM1/19/22
to harbou...@googlegroups.com
Can you please explain in more detail your setup, expecially on the linux server? Why do you say " physical Linux Server is where the application and LetoDBf resides."? What do you mean with "application and LetoDBf"?

Is your application text-mode or GUI? I did a proof of concept of my text-mode program porting it to linux and it was... fast...database is accessed locally, no networking involved, and also a full table scan is almost immediate. Just use putty to ssh to the host, define users and voila... Years ago someone also gave some configurations for printing via putty (Przemek? Anybody remembers that information?) or you may create a PDF on linux and share one directory via samba (but not the dbf...) printing the path on the screen so that you can copy/paste. Or send the pdf via mail.
Unfortunately I ported part of the code to GUI so now it would be a bit more difficult to have a dbf accessed directly via samba and locally via linux, locks may not work. The solution is to use in both cases HBNetIO or LetoDBf...

What frightens me the most is a ransomware hitting the data directory...

On Mon, Jan 17, 2022 at 8:48 AM Mario H. Sabado <mhsa...@gmail.com> wrote:
Hi Jayadev,

>>I have switched to LetoDBf and so far it's been working fine for a few years now.  Even the Wi->>Fi access is more stable now although slower than cable.

Is this for the physical Linux Server (which one) and Windows clients connected by cable ?

-physical Linux Server is where the application and LetoDBf resides.  Clients are Windows majority are cable with few laptops

...

Mario H. Sabado

unread,
Jan 19, 2022, 9:14:46 PM1/19/22
to 'elch' via Harbour Users
Hi Francesco,

On Thu, Jan 20, 2022 at 6:58 AM Francesco Perillo <fper...@gmail.com> wrote:
Can you please explain in more detail your setup, expecially on the linux server? Why do you say " physical Linux Server is where the application and LetoDBf resides."? What do you mean with "application and LetoDBf"?
- apology for the confusion.  I mean a dedicated instance for the "physica"l server.  I'm referring to the application database for the "application" that resides on the linux server together with LetoDBf server

Is your application text-mode or GUI? I did a proof of concept of my text-mode program porting it to linux and it was... fast...database is accessed locally, no networking involved, and also a full table scan is almost immediate. Just use putty to ssh to the host, define users and voila...
Years ago someone also gave some configurations for printing via putty (Przemek? Anybody remembers that information?)
 - you maybe referring to below snippet from Przemek to redirect the printing connected to putty from the linux terminal?
FWrite( 1, Chr( 27 ) + "[5i" + ;
                 cStringData + ;
                 Chr( 27 ) + "[4i" )

or you may create a PDF on linux and share one directory via samba (but not the dbf...) printing the path on the screen so that you can copy/paste. Or send the pdf via mail.
Unfortunately I ported part of the code to GUI so now it would be a bit more difficult to have a dbf accessed directly via samba and locally via linux, locks may not work. The solution is to use in both cases HBNetIO or LetoDBf...
- my application is hybrid and I'm using GTWVT and GTWVW for windows clients and GTCRS to access via putty terminal or linux console.

What frightens me the most is a ransomware hitting the data directory...
- indeed this happens to me.  luckily, only the documents repository which is shared via samba with read/write access were affected.  so grateful that I already migrated to LetoDBf by the time it happened because the database and document repository resides on the same linux server.

On Mon, Jan 17, 2022 at 8:48 AM Mario H. Sabado <mhsa...@gmail.com> wrote:
Hi Jayadev,

>>I have switched to LetoDBf and so far it's been working fine for a few years now.  Even the Wi->>Fi access is more stable now although slower than cable.

Is this for the physical Linux Server (which one) and Windows clients connected by cable ?

-physical Linux Server is where the application and LetoDBf resides.  Clients are Windows majority are cable with few laptops

...
 

-Since the app is compiled in Windows, users connect to the Windows instance via RDP.  The application being run on the RDP terminal connects to LetoDBf on a Linux server (separate instance).  LetoDBf/HbNetIO process data via TCP/IP protocol. 


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Jayadev U

unread,
Jan 19, 2022, 11:48:58 PM1/19/22
to harbou...@googlegroups.com

Hi Francesco,

 

While I will forward the Samba settings to the IT guy who looks after the Linux server, could you please explain:

 

The only way to be safe is to use transactions.”

 

Warm regards,

 

Jayadev

 

 

 

From: harbou...@googlegroups.com [mailto:harbou...@googlegroups.com] On Behalf Of Francesco Perillo
Sent: 20 January 2022 04:14 AM
To: harbou...@googlegroups.com
Subject: Re: [harbour-users] HbNetIO and LetoDBF

 

Hi,

--

--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Francesco Perillo

unread,
Jan 20, 2022, 12:32:31 AM1/20/22
to harbou...@googlegroups.com
Sql transactions.

When you have a sequence of updated to the database, the sql server applies all the changes or none.
You never get the sequence stopped midway.

For the Samba settings, please consider that those are working in my setup with my clients... they may not work for you...


Reply all
Reply to author
Forward
0 new messages