Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

New ADORDD

1,372 views
Skip to first unread message

disal.anton...@gmail.com

unread,
Apr 6, 2015, 4:46:24 PM4/6/15
to
Dear all,

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

ready : auto open, auto order, relations, record movements (go to, recno, eof, etc), locate and continue, seeks, locks, indexes.

Transactions are automatically called so please dont forget to issue dbcommit after each transaction or data wont be saved.
In this trial transacts are initiated in the first lock and ended in the first dbcommit.

Regards
Antonio H Ferreira

Patrick Mast

unread,
Apr 9, 2015, 11:15:30 AM4/9/15
to
Thank you Antonio! ;-)

disal.anton...@gmail.com

unread,
Apr 12, 2015, 2:11:32 PM4/12/15
to
New version of adordd at https://github.com/AHFERREIRA/adordd.git

Please help trying it.

disal.anton...@gmail.com

unread,
Apr 25, 2015, 2:35:13 PM4/25/15
to
_________________
Regards
Antonio H Ferreira

disal.anton...@gmail.com

unread,
Apr 27, 2015, 4:13:16 AM4/27/15
to
Sorry my mistake with the version posted.

Here is the correct one https://github.com/AHFERREIRA/adordd.git.

You should now be able to run tryadordd.

disal.anton...@gmail.com

unread,
Apr 29, 2015, 4:26:36 PM4/29/15
to
New adordd version with working locking as dbfs at https://github.com/AHFERREIRA/adordd.git

This is still on trial and its working quite well on heavy transactions many records in many tables.
It assures completely record locking and concurrent access control like any other rdd.

The drawback is that we must use a dbf table in a network share with another rdd for this to work.
Its very small recsize only 50b and has a recycle scheme for records not needed.

Still have some issues with dates and NULL values in adordd.
Regards
Antonio H Ferreira

disal.anton...@gmail.com

unread,
May 4, 2015, 3:59:19 PM5/4/15
to
New version adordd at https://github.com/AHFERREIRA/adordd.git

Locks and exclusive use working.

Dates and numbers working.

Locates working.

Any app code change required. Just Link it.

disal.anton...@gmail.com

unread,
May 6, 2015, 3:43:49 PM5/6/15
to
New version adordd.prg posted https://github.com/AHFERREIRA/adordd.git

Please take a look in readme.md file.

Regards
Antonio H Ferreira

Patrick Mast

unread,
May 8, 2015, 9:57:25 AM5/8/15
to
Thank you Antonio ! ;-)

disal.anton...@gmail.com

unread,
May 9, 2015, 11:14:16 AM5/9/15
to
New version adordd.prg https://github.com/AHFERREIRA/adordd.git

Please check readme.

Regards
Antonio H Ferreira

disal.anton...@gmail.com

unread,
May 14, 2015, 1:34:13 PM5/14/15
to

Completed version adordd at https://github.com/AHFERREIRA/adordd.git

disal.anton...@gmail.com

unread,
May 24, 2015, 1:41:47 PM5/24/15
to

disal.anton...@gmail.com

unread,
Jun 12, 2015, 4:49:54 PM6/12/15
to
Adordd its ready to work at https://github.com/AHFERREIRA/adordd.git

It has been in development since Feb 2015 and being tested on real application working in parallel with the actual application with ADS and passed all trials.
This app with adordd its now being tested intensive on concurrent access to check locking scheme and exclusive use.
Will report results end next week.

With adordd you can migrate immediately to any SQL server although all the trials have been made only with ADS, MySql and MS Access.

No change code required. Except:

1) As with ADS in index expressions you have to evaluate vars before send it to adordd.

2) Delete records are immediately removed from table and cant be recovered again. So code like:
Code:

Delete record recno
BlankRec() //this will not work either comment it or place it before delete.

delete all //this will not work take it from here
while....
if lcondition //change condition to not
recall record //delete each record here
endif
end



Thats it!

But you can do much more:
Code:

hb_GetAdoConnection():Execute("CREATE VIEW cView ....")

sele 0
use cView

Browse()


True locks as any other rdd.
Upload tables to any Sql server just like:

Code:

use table VIA "DBFCDX"
copy to sqltable via "ADORDD"


Performance its quite good.
No Sql knowledge needed unless you want to use and run sql statements directly from ado functions.
You write code exactly the same as any other rdd.

With adordd we are free from all kind of limitations with tables and index management already in actual and future operating systems and will extend the life of our applications further.

Although ADO it already today an "old" framework I think it will stay around for the next coming years (I hope so)

Ill give support to it as long as you can supply precise ideas and sample code where something has not been foreseen in adordd scope of action.

I hope that it will do the job for you all as it does for me.

disal.anton...@gmail.com

unread,
Jun 16, 2015, 9:17:20 AM6/16/15
to
New adordd version at https://github.com/AHFERREIRA/adordd.git

The code is aligned and clean.

Please read carefully readme to set your app to use adordd.

And please dont forget donate to the humanitarian organization 20 Euros.

disal.anton...@gmail.com

unread,
Jun 17, 2015, 6:15:52 AM6/17/15
to
New ADORDD readme.pdf small manual posted https://github.com/AHFERREIRA/adordd.git

disal.anton...@gmail.com

unread,
Jun 24, 2015, 10:32:48 AM6/24/15
to
New version adordd posted at https://github.com/AHFERREIRA/adordd.git

Code improvements
Corrected bug in Append from
Working without true locks maintain locklist array nevertheless
Get date value from a field was returning date + time comparison of dDate = dDate even equal dates was returning false. Forgotten to un comment during trials
Trusted connection in MSSQL con string

Regards
Antonio H Ferreira

disal.anton...@gmail.com

unread,
Aug 17, 2015, 3:07:57 PM8/17/15
to
New version of ADORDD at https://github.com/AHFERREIRA/adordd.git

Changes:

Faster opening recordsets
Recordsets are now opened by recno order when no index is active as any dbf
Tables without auto inc fieldto be used as recno throws an error whe opening it
Reccount faster
Copy To (from other rdd to adordd) works ok with both set ado force locks on / off

disal.anton...@gmail.com

unread,
Sep 25, 2015, 4:16:00 PM9/25/15
to
Several small bugs corrected.
SET ADO TABLES INDEX LIST TO not needed anymore.
Now support for any clipper expression in index including UDFs
Indexes, Scope, Filter, Seek, Locate 100% clipper compatible.
Speed much improved.
Now recordset its only read once when opening it.
New additions by others automatically detected.
New SET ADO INDEX UDFS TO to indicate to adordd the UDFs. This enables adordd to avoid
building unnecessary indexes with this routine because its expensive to use it.
Index data conversion functions must not be placed here.
Only place here true UDFs and functions that change the size of expressions itself.

TO DO
1) Deleted records not implemented yet.Will try to use maromano great routines.

2) New option in SET ADO DEFAULT DATABASE TO .. CLASSNAME where classname is a
class name providing ado methods and data to avoid using ado and oledb or odbc and making it much faster.
Im remembering the excellent work HDO from Manuel Exposito.
Then we can be really fast and multi platform.

3) Arrays of reserved keywords SET CHECK RESERVED KEYWORDS ON /OFF to check the existence of any sql reserved word and use a dictionary to avoid changing any code in actual apps.

This version has been tested in a small environment with MYSql and some new features might not be 100%.
These refers mainly to Scopes, UDFs in indexes, data synchronization
Place all necessary SETs in top of app, compile and link with adordd.
If you find some incompatibilities please report to change it.
It must run now with no code change!


Regards
Antonio H Ferreira

Mel Smith

unread,
Sep 25, 2015, 5:51:17 PM9/25/15
to
Hi:

The latest ADORDD source is now on whosaway.com zipped up.

-Mel Smith


Ron Pinkas

unread,
Sep 25, 2015, 6:07:53 PM9/25/15
to
Many thanks for your on-going support Mel. It is not taken for granted.

Ron

"Mel Smith" <syn...@cox.net> wrote in message
news:d6ltui...@mid.individual.net...

disal.anton...@gmail.com

unread,
Oct 8, 2015, 2:56:57 PM10/8/15
to
New adordd version https://github.com/AHFERREIRA/adordd.git

1) Some small bugs corrections, code and speed improvement.

2) NEW FEATURE : Works with deleted records just like any other dbf rdd
Records are marked as deleted and they are removed from table with pack.
If you choose to let other applications not to work with deleted records this way when adordd resync or requery the set if the record does not exist anymore a error number 10002 is thrown and you should take care yourself
of re-position it in app code.
Adordd can not guess what to do in these cases.
Thanks to maromano!

3) New parameter in SET ADO DATABASE .. CLASSNAME to indicate an alternative class that should provide the methods and data needed by adordd. In this case it can work with other class that communicates directly with the DB engine. It can be much faster and multi platform.

next version

1) use path to create sql files and open with same path. slashes are change to minus sign. ready within 2 weeks

2) Taking care of field name conflicts with each sql engine reserved words.
Sometimes these occurrences are the source of very strange behavior and very difficult to identify.. (no time schedule yet)

2) Improved connection parameters such as Port, SSl encryption, compression, win auth, various replication servers, charset, table caching (no time schedule yet)

All trials have been made with ACCESS and MySql on production.
Please let me know if you find problems with other engines.
FireBird its uncompleted if you need it please let me know and we will try to include it together.

disal.anton...@gmail.com

unread,
Oct 16, 2015, 3:59:50 AM10/16/15
to
Please check 01_readme.pdf because some things changed a bit.

New features:

Use path to create sql files and open with same path. slashes are change to underscore sign.
This allow to use same tables name in the same database as with database file system folder tree.
Use SET ADO TABLENAME WITH PATH ON /OFF to enable this new feature.
All tables must of course have been loaded with the same SET.

As with other rdds you should use exactly the same routines to obtain a temporary file name from the operating
system file to be created and adordd will maintain automatically those temporary files deleting it
when not needed anymore.

Fieldnames with reserved keywords are enclosed in "`"+fieldname+"`" it seems to woks with any keyword.
Tested with MySql and ACCESS only but should wok with all others.

New SET ADO TABLENAME WITH PATH ON /OFF

New hb_AdoUpload( cBaseDir, cRDD, dbEngine, lOverWrite )
New HB_adorddFile( cFile) Replaces File()
New hb_ADOrddCOPYFILE( cTableOrigin, cTableDestination ) Replaces CopyFile()
New hb_adordddir( cPath ) imitates the directory() but on a SQL database where table names are with path.


next version

1) Persistent recordsets to open huge sets (> 1000000 k) very fast after first opening. (Already on trials)

2) Improved connection parameters such as Port, SSl encryption, compression, win auth, various replication servers, charset, table caching (no time schedule yet we are still studying if it is better to defined all at the ODBC or OLEDB level)

Mel Smith

unread,
Oct 16, 2015, 11:03:02 AM10/16/15
to
Hi All:

The new version of ADO from Antonio has just been posted to
www.whosaway.com.

-Mel Smith


disal.anton...@gmail.com

unread,
Oct 19, 2015, 10:36:40 AM10/19/15
to
adordd finished version at https://github.com/AHFERREIRA/adordd.git

adordd is finished!
I don't have plans to add any new functionalities to it.
Its now working just like any other kind dbfcdx rdd and it allows you to port your app in minutes (time to load tables) to any SQL.

From now on Ill only post new versions to correct bugs.

All your comments, experiences, ideas and bug reports are most welcomed!

New features:

1) ADO_EXIT called internally to close all tables and connections whe exit the app.

2) Gave up the idea of persistent recordsets to open huge sets because the difference speed in opening its completely lost closing it( saving it) instead I ve made a new set.

SET ADO CACHESIZE TO 100 ASYNC ON ASYNCNOWAIT ON
This set has huge impact on performance opening huge tables.
Playing with this set might improve significantly the opening time but then you might not have all rows available immediately.
You have to test yourself if your app works ok with the different options.

adordd main problem is opening huge tables without any where clause causing it to load all rows.
This brings problems with loading time and memory consumption.

On the other hand please remember that this would be the slowest loading time of a table no matter if you have 1 or 200 users opposite to dbfcdx kind of rdds.

This is not a standard practice in SQL but to keep backwards compatibility with our apps we need to do it like this.

In apps where there aren't any historic files and all data is kept in the working tables the only alternative is either to pass old data to historic files or use USE ctable WHERE where clause.
If you cannot do any of these and you have huge tables adordd might not be for you and in these cases the only alternative to go to SQL is ADS as far as I know (keeping almost same app code ).

The only workaround for this limitation is to build a class accessing the SQL through C interface (HDO from Exposito for ex).
adordd can work with any other class as long as the few methods and data adordd use from MS ADO are replicated in that class.
This class could build the sets in a local dbf files, arrays etc.

Mel Smith

unread,
Oct 19, 2015, 12:52:59 PM10/19/15
to
Hi All:

Latest ADORDD source and .pdf files posted on www.whosaway.com just now.

-Mel Smith


disal.anton...@gmail.com

unread,
Oct 21, 2015, 6:01:17 PM10/21/15
to
New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

minor bugs corrections
better detection of refreshing new records added by others
improvement speed in replaces

Mel Smith

unread,
Oct 22, 2015, 12:24:36 PM10/22/15
to
Posted on whosaway.com

-Mel Smith

<disal.anton...@gmail.com> wrote in message
news:437b026b-2460-435c...@googlegroups.com...

disal.anton...@gmail.com

unread,
Oct 25, 2015, 2:07:59 PM10/25/15
to
New build adordd version 1.0 at https://github.com/AHFERREIRA/adordd.git

Changes:

Should compile now with Harbour and without FiveWin but I didnt test it.
Field replaces with special chars (single quotes, apostrophes, etc ) should work now.
DbEval improve speed.
Update 01_README.PDF with adordd error codes

Mel Smith

unread,
Oct 26, 2015, 8:45:04 PM10/26/15
to
New Version posted on www.whosaway.com this morning.
-Mel

<disal.anton...@gmail.com> wrote in message
news:292ffc16-475c-4529...@googlegroups.com...

disal.anton...@gmail.com

unread,
Oct 27, 2015, 7:53:30 AM10/27/15
to
New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Small bug corrections:

Corrected bug when updating a indexkey with UDF index.
Corrected buh when adding new record with UDF index and UDF index empty.
Correted bug ZAP was given an error after when refreshing recordset.



disal.anton...@gmail.com

unread,
Oct 28, 2015, 3:56:43 PM10/28/15
to
New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Changes:

Finally it seems that we managed to increase dramatically the opening times for huge tables and much better memory usage.

1) New SET ADO PRE OPEN THRESHOLD TO nRecords

This set will define how adordd will open the tables during app run time.

All the tables with records equal or greater than nRecords and without any WHERE opening clause will be all open during app initialization.

You will wait a little for the app to start but after all table opening it will be very fast.
This will consume much memory at start but less during app run time.

You should balance yourself the value of nRecords accordingly to the time you are willing to wait to open a table and your memory availability.
Its very easy opening a couple of tables > 500.000 recs to use some gigas of memory.

Even without this SET adordd will only take some time opening a table if its not open already otherwise it will be very fast.

adordd its now extremely fast and can be truly compared to any other dbfcdx kind of rdd.

Ive made some trials and it seems to be running ok. Please check it yourselves and revert.

2) Code cleaning

3) Compile improvement with Harbour / xHarbour with or without FiveWin.

4) 01_readme.pdf new SET information.

disal.anton...@gmail.com

unread,
Oct 29, 2015, 6:57:14 AM10/29/15
to
New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Changes:

1) Bug creating indexes was searching index name with = instead of == returning sometimes wrong name and expression.
This has been disrupted when coding UDFs in indexes.

2) New #ifef to compile with Harbour and xHarbour

disal.anton...@gmail.com

unread,
Nov 10, 2015, 5:14:28 PM11/10/15
to
New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Corrected bugs:
Indexes with UDFs.
Lock list array
DBEVAL
Any :requery calls auto call ordsetfocus() to update indexes.

Changes:

1) ADO_CREATE
Corrected sequences and triggers for Oracle and Firebird

2) SET ADO ROOT PATH TO ... INSTEAD OF ...
This will allow you to upload the tables with certain path structure and then run the app with
a different path.
If the tables names are with path on without this set the app wouldn't run.

3) SET ADO TABLES LOGICAL FIELDS LIST TO
This array set is { { Tablename1, {Boolean field1, booleanfield2,...} },;
{ tablename2, .....} }
To identify Boolean fields for engines that don't have Boolean type such as Oracle, Firebird,
Sqlite and others.
In these cases there is no way to find out if a field is Boolean therefore we need this set to
let adordd know the Boolean fields present in each table.

In order to avoid extra work When uploading tables only from dbfcdx family of rdds adordd
builds itself the internal array, because through the dbfcdx rdd it knows if a field is Boolean, in order
that the uploading process doesn't errors.
At the same time adordd writes all this information in a file .ado to let you have the relation of all
tables and Boolean fields that you must place in this set next time app runs otherwise the results
are unpredictable. THE FILE "BOOELANFIELDS.ADO" IS IN APP START PATH.

When creating new tables, not temporary, you must inform adordd through this set of the Boolean fields.
With temporary tables its not needed because at the of the creation adordd keeps a record of Boolean type
fields but only during run time of the app.

If you are working with engines that have Boolean type field you might forget this set.

4) adordd tested ok with sqlite and firebird besides MsSql, MySql, Access, ADS, FoxPro, Dbase.
Should run without problems but not tested with Sybase kind of Sql Servers, Informix, PostGre.
Probably Oracle also but Ill check it soon.

Mel Smith

unread,
Nov 10, 2015, 5:38:58 PM11/10/15
to
New Build just posted on whosaway.com

-Mel


disal.anton...@gmail.com

unread,
Nov 13, 2015, 4:02:37 PM11/13/15
to
New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Corrected bugs:

Logical fields array initialization.
scoped relations Scopes were not cleared when clear relation.
Eof and Bof vars were not being reset correctly by gotop and gobottom.

Changes:

1) New SET ADO TABLES DECIMAL FIELDS LIST TO....
Some engines like Access and SQlLite do not have specifically fields with decimal notation.
In these cases it was defaulting to 2 decimal places where could be more.
If the app would picture the gets with the fielddec function the nr of decimals places that could be entered
was only 2 although might be more.
With this set we let adordd knows the nr of decimals places per table and field.
When uploading tables that is done auto by adordd like for logical fields.
If you work with an engine that supports notation of decimals per field you might forget this set.



Mel Smith

unread,
Nov 13, 2015, 7:23:43 PM11/13/15
to
Update posted to whosaway.com earlier today:

-Mel


disal.anton...@gmail.com

unread,
Nov 16, 2015, 10:13:05 AM11/16/15
to
New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Corrected bugs:

DBCREATE if table exists just overwite it like in any other rdd. It was giving a error.

hb_AdoRddFile( cFile ) if rddsetdefault == "adordd" it test if file exist in DB
otherwise it passes to normal FILE() function.So you can use it for all cases with or without adordd.

When SET ADO DATABASE TO... cant open connection instead of quiting app it throw error 10500.

Changes:

SET ADO PRE OPEN THRESHOLD TO <nRecords> [ MASK <aMask> ]
Added new option MASK that allow to pre open recordsets containing nrecords and with value MASK in table name.

Mel Smith

unread,
Nov 16, 2015, 11:12:10 AM11/16/15
to
Hi All:

Altho I will be updating my download list with the adordd.zip file and
.pdf docs on whosaway.com as the changes/updates occur, I will no longer be
regularly posting this notification here.

Trying to save some time ...

-Mel



disal.anton...@gmail.com

unread,
Nov 20, 2015, 7:59:51 AM11/20/15
to
New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Corrected bugs:

APPEND with SQLITE, FIREBIRD, POSTGRE and ORACLE with index with UDF or condition was
adding the same bookmark twice.

ADO_REQUERY could fall into recursive calls after append new record using engines
Sqlite, FireBird Postgre and Oracle.

DBGOTO was giving error if the record was not within INDEX with UDF or condition.


Changes:

hb_AdoRddFile( cFile ) Check for index file in the adodbf index list... and support for Sqlite, Firebird, Oracle.


disal.anton...@gmail.com

unread,
Nov 26, 2015, 12:48:53 PM11/26/15
to
New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Corrected Bugs:

1) FIELDNAME was not returning upper fieldname in case of db engine PostGre, Oracle

2) Some upper case conversions to take care of lower case fields used by PostGre and Oracle.

3) Reserved keywords used in fields taken care with PostGre and Oracle.

4) SET TRESHOLD was not finding aMask if used table and SQL were with different case. Now all upper case.

5) Pre opening of recorsets optimized and cached for different where clauses on same table.
If the table its below the SET THRESHOLD and its already opened in another work area the set its not created again but cloned from that work area.
If during app run time a table passes the SET THRESHOLD value its cached next time is opened.

Tested engines:

ACCESS
ADS
DBASE
FIREBIRD
FOXPRO
MS SQL
MYSQL
POSTGRE
SQLITE

Still not tested but should work ok:

ANYWHERE
INFORMIX
MARIADB
ORACLE

disal.anton...@gmail.com

unread,
Dec 7, 2015, 8:00:42 AM12/7/15
to
New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

New:

1) SET ADODBF INDEX LIST FIELDTYPE NUMBER TO {{ "Table",{ "numfiled", nlen },{"numfield", nLen } } }
adordd need a precise indication of the len of numeric fields used in index expressions.
This is only needed for numeric fields where the SQL type its without field len definition such as:
AUTOINC, MONEY, DOUBLE, INT, SMALLINT, etc.

Corrected Bugs:

1) ADOBEGINTRANS( nWA ) : without work are it starts a transaction in default adordd connection otherwise
it starts in the connection of the current work area.

2) ADOROLLBACKTRANS( nWA ) : without any work area it rolls back all transactions in all open connections
otherwise it rolls back transaction in same connection as that work area.

3) ado_create was adding an extra position in field len of numeric fields
now ADO_FIELDSTRUCT takes that position returning the correct len of a field type "N"
This could lead to side effects in INDEXKEY where the numeric field was part of the expression.
No tables structure corrections are necessary.

4) ADPSEUDOSEEK works now ok with fields type "T"

5) ADODUFINDEX if result of the index expression its numeric its considered as it was a UDF expression
because we cant extract field len to build a find, filter or query expression because the eval result
its the sum of all the numeric fields in the expression.

6) ORDKEYGOTO was not full implemented.

disal.anton...@gmail.com

unread,
Dec 8, 2015, 10:15:55 AM12/8/15
to
New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Corrected new Bugs due to changes previous build:

1) ADO_SQLSTRU with firebird numeric fields precision fieldlen was wrong

2) ADO_FIELDSTRUCT integers doesnt take any extra position.

3) ADO_PUTVALUE trim spaces to check data width error with numbers.

Leonardo Machado

unread,
Dec 22, 2015, 8:50:37 PM12/22/15
to
hi,

Error for xharbour:
adordd.obj : error LNK2001: símbolo externo _HB_FUN_CFILEDISC sin resolver
adordd.obj : error LNK2001: símbolo externo _HB_FUN_MSGALERT sin resolver
adordd.obj : error LNK2001: símbolo externo _HB_FUN_CVALTOCHAR sin resolver
adordd.obj : error LNK2001: símbolo externo _HB_FUN_CFILENOPATH sin resolver
adordd.obj : error LNK2001: símbolo externo _HB_FUN_CFILENOEXT sin resolver
adordd.obj : error LNK2001: símbolo externo _HB_FUN_CGETNEWALIAS sin resolver

disal.anton...@gmail.com

unread,
Dec 23, 2015, 8:01:46 AM12/23/15
to
Leonardo,

Please try clear __XHARBOUR__ from your build script.
These I think are fivewin functions but are all in adordd.

Antonio H Ferreira

Leonardo Machado

unread,
Dec 23, 2015, 11:13:15 AM12/23/15
to
It worked.
It would be important in SET ADO DEFAULT DATABASE can set the connection port.

Doubt, I have to configure the connection driver on every machine that will access the database using ADORDD?

Leonardo Machado

Leonardo Machado

unread,
Dec 23, 2015, 11:59:31 AM12/23/15
to
Antonio,

How to solve the error below?

[Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado
Source : Microsoft OLE DB Provider for ODBC Drivers
NativeError : 0
Error Source : Microsoft OLE DB Provider for ODBC Drivers
Sql State : IM002
--------------------------------------------------
ADOGETCONNECT( 5941 )
ADODEFAULTS( 6592 )
ABRE_DADOS( 1098 )
MAIN( 204 )
( 0 )
( 0 )
( 0 )

disal.anton...@gmail.com

unread,
Dec 23, 2015, 12:38:59 PM12/23/15
to
Great!

Its on TO DO list next year Ill post a version with it.

Meantime maybe you can change the port at the server.

Antonio H Ferreira

disal.anton...@gmail.com

unread,
Dec 23, 2015, 12:43:30 PM12/23/15
to
Please post your SET ADO DEFAULT DATABASE

Antonio H Ferreira

Leonardo Machado

unread,
Dec 23, 2015, 1:20:15 PM12/23/15
to
...
...
RddRegister("ADORDD",1)
RddSetDefault("ADORDD")

SET ADO DEFAULT RECNO FIELD TO "SR_RECNO"
SET ADO TABLENAME WITH PATH OFF

SET ADO DEFAULT DATABASE TO 'sygecom';
SERVER TO 'localhost';
ENGINE TO "POSTGRE";
USER TO 'sygecom';
PASSWORD TO 'senha'
...
...

Leonardo Machado

unread,
Dec 23, 2015, 1:27:13 PM12/23/15
to
ok, that part worked.

Leonardo Machado

unread,
Feb 12, 2016, 10:25:06 AM2/12/16
to
Antonio,

Would it have some way to identify whether the computer will open the system (using adordd) has installed the connection Driver and, if you have not configured to do this automatically setup?

Same is SR_InstallDSN () of SQLRDD?


Leonardo Machado

Antonio Homem Ferreira

unread,
Mar 7, 2017, 5:05:08 PM3/7/17
to
New AdoRdd Version 1.070317 at https://github.com/AHFERREIRA/adordd.git

Improvements and correected bugs:

ADO_ORDCREATE after creating index wasnt opening it.

ADO_SEEK key with multiple fields with softseek on was going to eof instead of last key.

ADOFILE if connection not valid returns now .F. instead of HB_FAILURE.

ADOOPENCONNECT if engine its not supported or wrongly set alerts the user.

ADOBEGINTRANS if workarea not specified opens a transactions for each opened connection
ADOCOMMITTRANS and ADOROLLBACKTRANS the same as ADOBEGINTRANS

ADONESTEDTRANS returns nr of nested transactions

NEW ERROR CODE 10600 - connection not available cant find transactions

ADO_ALREADYOPEN Test if the open recordset has same Sql query statement.

ADORECCOUNT Table name was not being converted to get fieldrecno if any defined
for that table always returned tha default one.

ADOPREOPENTHRESHOLD Faster counting records.Doesnt cache any tables with WHERE clause.

All ADO cursors changed in the code from adopendynamic to adopenstatic, although it always
started as adopenstatic.


New features:

New option PORT in SET ADO DEFAULT DATABASE ...

ADO_ORDINFO ordwildseek implemented

Multibag orders support with new SET:
SET ADODBF MULTIBAG INDEX LIST TO { { "INDEX NAME", {TAGORDER 1","TAGORDER2"} } }
This alows multibag index file support exactly the same as any other DBf rdd.
ATTENTION
Now when SET AUTOOPEN ON doesnt open all index files automaticaly in SET ADODBF INDEX LIST instead
only opens the INDEX NAME present in SET ADODBF MULTIBAG INDEX LIST TO that matchs the table name.

Faster opening recordsets:

SET RECORDSET OPEN WHERE CLAUSE TO { { "TABLENAME", "SQL WHERE EXPRESSION" } }

ADOWHERECLAUSE ADORDD function allowing us to change the recordset WHERE clause on the fly keeping all
workarea information as Filters, Scopes, Indexes, etc.

Ex

SET RECORDSET OPEN WHERE CLAUSE TO { { "table", "FIELDANEMYEAR = '2017'" } }

USE table
BROWSE() //only records that meet "where" clause
//we want to see some historic data
cOldQry := ADOWHERECLAUSE( SELECT(), "FIELDANEMYEAR = '2012'" )
BROWSE()
//Get back to current year
ADOWHERECLAUSE( SELECT(), cOldQry )
BROWSE()

Antonio Homem Ferreira

unread,
Apr 17, 2017, 4:47:00 AM4/17/17
to
New AdoRdd at https://github.com/AHFERREIRA/adordd.git

Improved speed DBEval
Cache tables and recordsets enhancement


Message has been deleted

Rodrigo Silva

unread,
Mar 31, 2022, 11:35:05 AM3/31/22
to

I need help, when including a new record in 2 applications at the same time it does not show the new record in one
0 new messages