Olaf,
Super that worked. SCATTER MEMO MemVar
Now it works.
The major problem is that, SELECT TOP 50 is used for a selection popup in the software. So we also scan FILTER for the first 50 records found like CUSTOMER_NAME LIKE '%ALWIN%' etc.....
So LOCATE is too complex to use for such seek, and...
Hi olaf,
The problem is that there orders that contain the same records like CUSTOMER_CITY so, that query results in +/- 500 same records.
My last script works perfectly with SETRESULT(), but SCATTER doesn't work..... Do you have any other idea ?
Hi Olaf,
Thanks already, your script inspired me.
I tested it today, but: SCATTER NAME loRecord
doesn't work in the script (from oledb)
This works, but RECNO()=1 is very slowly....
SELECT * FROM CONTACT WHERE .F. INTO CURSOR crsResult READWRITE
SELECT CONTACT
SET ORDER TO TAG SUB_NR
SCAN...
First, cleaned all indexes, created only 1 index.
INDEX ON SUB_NR TAG SUB_NR OF "CONTACT.CDX"
Database still slow.... with VFPOLEDB
PROVIDER=VFPOLEDB.1;Data Source=\\192.168.1.95\d$\XXX-ACCVIEW-1INDEX\ADMSEGJN.DBC;Collating Sequence=machine;SourceType=dbf;Deleted=Yes;Mode=ReadWrite|Share Deny...
It works perfectly, but the major problem is, that EXECSCRIPT returns .T. and not the dataset....
-> Fieldname: RETURN_VALUE
-> Value: .T.
0 23-12-2018 12:09:59 AdoRecordSet open 3/3/1 : => EXECSCRIPT(FILETOSTR("E:\CAVO\DIVERSEN\ELVY\script.txt"))
4719 23-12-2018 12:10:03...
Well the major problem is that i have a lot of customers which use software like an add-on. So we need +/- 300 customers to install a service module, which i need to build in VFP. They are already using my software for years, and everybody accepts it. Primairy startup in a network is 15 seconds...
Olaf,
Can you create a simpel statement so i could retrieve ATAGINFO() from the database table ? So i can see the 6th item ?
I guess i am close to the solution....
Thanks
Alwin
Tamar, wel it looks like you are right.
The table is ordered, but why doesn't vfpoledb than not use the index. It is full of all kind's of indexes.
The SDK shows it uses: Collating Sequence=machine
Codepage shows 1252: SELECT TOP 50 CPDBF(),CPCURRENT(),* from CONTACT WHERE SUB_NR='LD96178117'...
Hi,
I just tested it, and found out using PROCMON that CONTACT.CDX is openened when:
SELECT * from CONTACT WHERE SUB_NR='LD96178117'
SELECT TOP 50 * from CONTACT WHERE SUB_NR='LD96178117' ORDER BY SUB_NR
(results in 1 record).
-> CONTACT.CDX Few bytes are read.
-> CONTACT.DBF Few bytes are...
Can i list the index structure directly from CONTACT.DBF & CONTACT.CDX ?
Can i see the "execution" plan like Microsoft SQL ?
Maybe the OLEDB engine chooses to not use an index, but the question is why.....
Attached a demo database from AccountView with exactly the same structure.https://files.engineering.com/getfile.aspx?folder=da414043-92c7-439b-8e5c-07e898e90d02&file=nl_yr_adv.zip
The database is indexed, otherwise "SELECT * from CONTACT WHERE SUB_NR='LD96178117'" would not be so fast. I tested it from my home using the internet connection instead of the network connection. By the network everything works acceptabily fast, but i am looking for the startup overhead.
I installed a Foxpro database on my network. Using OPENVPN i try to open the database from a remote location (my house).
Opening a database 95.000 records,
29.908.480 CONTACT.CDX
265.553.022 CONTACT.DBF
912.640 CONTACT.FPT
PROVIDER=VFPOLEDB.1;Data...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.