ADO RDD xHarbour

User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: ADO RDD xHarbour

Post by lucasdebeltran »

Antonio,

I have not been able to test last version due lack of time. Does it work with Access now?. Which RDBMS have you tested?.

Regarding configuration optimization settings, please review adofuncs.prg Fw_OpenAdoConnection and FW_OpenRecordSet. They are high optimized and work very well. Also, for a WAN connection, the key is to have a connection with low ping, such as cable or fiber. Good DSLs work fine too.

About xBrowse speed, yes, it calls very often reccount(). Mr. Nages could provide more insight to it.

Have you checked out XBROWSER FASTEDIT¿-
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
byte-one
Posts: 1048
Joined: Mon Oct 24, 2005 9:54 am
Location: Austria
Contact:

Re: ADO RDD xHarbour

Post by byte-one »

Antonio, congratulations for your work!!!
I test to compile the adordd.prg with xHarbour and become many errors:

Code: Select all

MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
        c:\xharbour\bin\harbour.exe -i.;c:\fwh\include;c:\prg_allgemein;c:\term
ne;c:\xharbour\include -n -m -w -es2 -gc3  -dtestfassung -d__GUN__ C:\adordd\ad
rdd.prg -o.\adordd.hrb
xHarbour 1.2.3 Intl. (SimpLex) (Build 20140725)
Copyright 1999-2014, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'C:\adordd\adordd.prg'...
C:\adordd\adordd.prg(366) Error E0022  Invalid lvalue: ':'
C:\adordd\adordd.prg(524) Warning W0001  Ambiguous reference: 'T_CTABLENAME'
C:\adordd\adordd.prg(627) Warning W0002  Ambiguous reference, assuming memvar:
AWDATA'
C:\adordd\adordd.prg(628) Warning W0002  Ambiguous reference, assuming memvar:
AWDATA'
C:\adordd\adordd.prg(922) Warning W0001  Ambiguous reference: 'NTOTSKIP'
C:\adordd\adordd.prg(1023) Warning W0002  Ambiguous reference, assuming memvar:
'AWADATA'
C:\adordd\adordd.prg(1122) Warning W0001  Ambiguous reference: 'OERROR'
C:\adordd\adordd.prg(1123) Warning W0001  Ambiguous reference: 'OERROR'
C:\adordd\adordd.prg(1124) Warning W0001  Ambiguous reference: 'OERROR'
C:\adordd\adordd.prg(1125) Warning W0001  Ambiguous reference: 'OERROR'
C:\adordd\adordd.prg(1126) Warning W0001  Ambiguous reference: 'OERROR'
C:\adordd\adordd.prg(1127) Warning W0001  Ambiguous reference: 'OERROR'
C:\adordd\adordd.prg(1128) Warning W0001  Ambiguous reference: 'OERROR'
C:\adordd\adordd.prg(1129) Warning W0001  Ambiguous reference: 'OERROR'
C:\adordd\adordd.prg(1643) Warning W0001  Ambiguous reference: 'NMAX'
C:\adordd\adordd.prg(1676) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(1677) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(1678) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(1774) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(1775) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(1776) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(1788) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(1789) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(1790) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(1820) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(1821) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(1822) Warning W0001  Ambiguous reference: 'N'
C:\adordd\adordd.prg(3225) Warning W0001  Ambiguous reference: 'CKEYBOTOM'
C:\adordd\adordd.prg(3929) Warning W0002  Ambiguous reference, assuming memvar:
'AWADATA'
C:\adordd\adordd.prg(3958) Warning W0001  Ambiguous reference: 'OCN'
C:\adordd\adordd.prg(3963) Warning W0002  Ambiguous reference, assuming memvar:
'AWADATA'
C:\adordd\adordd.prg(4315) Warning W0001  Ambiguous reference: 'X'
C:\adordd\adordd.prg(4316) Warning W0001  Ambiguous reference: 'X'
C:\adordd\adordd.prg(4317) Warning W0001  Ambiguous reference: 'X'
C:\adordd\adordd.prg(4733) Warning W0001  Ambiguous reference: 'CODLOCK'
Also the "hbusrrdd.ch" are not present at xHarbour (only usrrdd.ch)

What to do?
Regards,
Günther
---------------------------------
office@byte-one.com
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: ADO RDD xHarbour

Post by AHF »

lucasdebeltran wrote:Antonio,

I have not been able to test last version due lack of time. Does it work with Access now?. Which RDBMS have you tested?.

Regarding configuration optimization settings, please review adofuncs.prg Fw_OpenAdoConnection and FW_OpenRecordSet. They are high optimized and work very well. Also, for a WAN connection, the key is to have a connection with low ping, such as cable or fiber. Good DSLs work fine too.

About xBrowse speed, yes, it calls very often reccount(). Mr. Nages could provide more insight to it.

Have you checked out XBROWSER FASTEDIT¿-
It works with ACCESS the problem was only with the chosen cursor.
Now I'm only working with MYSql and its perfect. It works also with Oracle.

Performance without ADORECCOUNT its excellent.
Im trying to find a solution for it.

Concerning Xbrowse I dont work with it but there is any reason not to work ok.
Please let me know what is the problem with it ?

In adordd its only missing:

USE EXCLUSIVE
APPEND FROM
COPY TO
Regards
Antonio H Ferreira
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: ADO RDD xHarbour

Post by AHF »

byte-one wrote:Antonio, congratulations for your work!!!
I test to compile the adordd.prg with xHarbour and become many errors:

Also the "hbusrrdd.ch" are not present at xHarbour (only usrrdd.ch)

What to do?
We are still clearing code.
I'll post today a new version with these corrections and hbussrdd.ch.

Thanks for your help.
Regards
Antonio H Ferreira
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: ADO RDD xHarbour

Post by lucasdebeltran »

Antonio,

Latest version from 06 seems much better.

I found a bug at dbcreate, you are not distinguishing Database and Table, so dbcreate fails.

Also, command SET ADO TABLES INDEX LIST TO <array> and SET ADODBF TABLES INDEX LIST TO <array>have been changed?. I can´t see the difference.

Also, SET ADO LOCK CONTROL SHAREPATH TO should take by default hb_dirbase(), so It won´t be called unless the programmer needs to change paths.

In my opinion, the less settings the more easy for new programmers to test it.

Thank you.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: ADO RDD xHarbour

Post by AHF »

New version adordd.prg https://github.com/AHFERREIRA/adordd.git

Please check readme.
Regards
Antonio H Ferreira
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: ADO RDD xHarbour

Post by AHF »

lucasdebeltran wrote:Antonio,

Latest version from 06 seems much better.

I found a bug at dbcreate, you are not distinguishing Database and Table, so dbcreate fails.

Also, command SET ADO TABLES INDEX LIST TO <array> and SET ADODBF TABLES INDEX LIST TO <array>have been changed?. I can´t see the difference.

Also, SET ADO LOCK CONTROL SHAREPATH TO should take by default hb_dirbase(), so It won´t be called unless the programmer needs to change paths.

In my opinion, the less settings the more easy for new programmers to test it.

Thank you.
Lucas,

I just posted last version.
I think Dbcreate working now. Please check it.
SET ADO... and SET ADDBF didnt changed.
SET ADO LOCK CONTROL SHAREPATH TO Ill change it next post

Does it work ok with xbrowse?

Im only working now with MySql.
Regards
Antonio H Ferreira
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: ADO RDD xHarbour

Post by AHF »

Lucas,

adordd works mainly with cursor adUseClient.

This brings a problem because new and deleted records by others are not seen.

Deleted records its not so difficult because in editions or transactions when we lock we do resync and if there is an error we requey and locks fail so edition or transaction doesn't not proceed.

But with new records...
We are studying a way to trigger that and requery again the recordset when needed.

As ADO expertise do you have any solution or idea for this?

Thanks for your precious help.
Regards
Antonio H Ferreira
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: ADO RDD xHarbour

Post by lucasdebeltran »

Antonio,

About Append from, please review function fw_dbftoado().

About refreshing, yes it is a behaviour in ADO, but xBrowse does refresh when scrolling. Also, I do refresh Recordset after adding of editing records, so in my opinion it´s not an issue.

Thank you
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: ADO RDD xHarbour

Post by AHF »

About Append from, please review function fw_dbftoado().
Where can I find it?
About refreshing, yes it is a behaviour in ADO, but xBrowse does refresh when scrolling. Also, I do refresh Recordset after adding of editing records, so in my opinion it´s not an issue.
What you mean by refreshing is it requery ?
Thus if other user add new record you will only see it after adding or editing?
Regards
Antonio H Ferreira
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: ADO RDD xHarbour

Post by lucasdebeltran »

Antonio,

At source\adofuncs.prg

function FW_AdoImportFromDBF( oCn, cDbf, cAdoTable, cColPrefix, nMultiRowSize, aFields )


function FW_AdoExportToDBF( oRs, cDbf, lEditStruct )


In xBrowse yes. But that´s not a problem, in DBFCDX you have to issue a refresh() too.

xBrowse handles it very good with ADORDD. You should try latest xbrowse.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: ADO RDD xHarbour

Post by AHF »

Lucas,

In the app we are working browses are not a problem. All work well without a single changed line.

My worry is with transactions.

The app works 99% like this:

First closes and add all records to all tables necessary to the trans.
If all goes well loop through those records in the several tables and replace values

Lets say a another user add a line to an order before its locked.
When I initiate transaction locking the order that new record does not exist in my set yet.
Thus will not be taken in account in my transaction.

Dont you think this is a potential problem?

By the way I have xbrowse code here and I cant see any :Requery
Regards
Antonio H Ferreira
User avatar
byte-one
Posts: 1048
Joined: Mon Oct 24, 2005 9:54 am
Location: Austria
Contact:

Re: ADO RDD xHarbour

Post by byte-one »

Antonio, with this new version the errors are gone except the following:
I compile with xHarbour!

Code: Select all

MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
        c:\xharbour\bin\harbour.exe -i.;c:\fwh\include;c:\prg_allgemein;c:\termi
ne;c:\xharbour\include -n -m -w -es2 -gc3  -dtestfassung -d__GUN__ C:\adordd\ado
rdd.prg -o.\adordd.hrb
xHarbour 1.2.3 Intl. (SimpLex) (Build 20140725)
Copyright 1999-2014, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'C:\adordd\adordd.prg'...
C:\adordd\adordd.prg(366) Error E0022  Invalid lvalue: ':'
C:\adordd\adordd.prg(1633) Warning W0001  Ambiguous reference: 'HB_FT_DATETIME'
C:\adordd\adordd.prg(3872) Warning W0001  Ambiguous reference: 'NWA'
C:\adordd\adordd.prg(3977) Warning W0001  Ambiguous reference: 'UR_DBRI_RECSIZE'
Regards,
Günther
---------------------------------
office@byte-one.com
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: ADO RDD xHarbour

Post by AHF »

Thanks next post will be corrected.

The : syntax works with xHarbour don't know why it doesn't with Harbour.
Just comment it.
Regards
Antonio H Ferreira
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: ADO RDD xHarbour

Post by lucasdebeltran »

Antonio,

Which version of Fivewin and Harbour are you using?.

About this error, please check this post:
https://groups.google.com/forum/#!topic ... RmO7CAlpgU

Thank you.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
Post Reply