Adventage Database Server
--------------------------------------------------------------------------------
is anybody using ADS in an novell net and running Windows NT on a workplace with Fivewin apps? I use ADS in Novell net with Win95/98-machines and have no problems with my FW apps. Since yesterday we have on one machine Windows NT and the DOS-version of my apps are running normal but the fivewin version cannot open the databases (DBFCMD-error). Any comment?
What protocol are you using to access the NT ?, FiveWin Apps should use TCP/IP, not IPX protocol in order to access ADS Data, ADS Client includes the DOS IP, a program that must be running on you client PC to access the ADS NT Server.
I disagree with René because ADS internally was writen around IPX so you will get best performance with IPX. ADS on NT has half the speed versus ADS on Novell. (God save Novell) I think the problem you experiment is caused by the absence of some DLL in the windows\system directory. Check your documentation and put all those dll.
Sorry to disagree with you this time, in our test under NT, ADS seems to be faster using TCP/IP than IPX, specially with Win98, those terminals (win98) doesn´t seem to work properly with IPX. (Tested with 150 concucurrent users on an Wan enviroment).
This is a subjective matter. IPX is horrible on WAN but god in LAN. The way you access the databases is other theme to see.
--------------------------------------------------------------------------------
I am obtaining mistakes when I am going to use ADS with my application , I am going to describe my steps to create the program , if someone can help me , I would stay very thankful :
1) My environment :
ADS 5.1 Windows NT
RDD 5.0
Fivewin 2.0
Clipper 5.3b ( I use files CDX do Clipper 5.3b )
Blinker 5.1
Net Windows NT 4 Service pack 5 ( protocol unico TCP/IP in all estaçoes)
Terminals Windows NT Workstation and Windows 98
2) Link Script
# Blinker 5.10 Script
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE COMPRESS 9
BLINKER EXECUTABLE EXTENDED
#MAP A,S
PACKCODE
PACKDATA
NOBELL
NODEFLIB
DEFBEGIN
name FiveWin
description 'Windows Fivewin'
exetype Windows
code moveable discardable
date preload moveable
stacksize 12500
heapsize 2048
segment 'PLANKTON_TEXT' nondiscardable
segment 'EXTEND_TEXT' nondiscardable
segment 'OM_TEXT' nondiscardable
segment 'OSMEM_TEXT' nondiscardable
segment 'SORTOF_TEXT' nondiscardable
segment 'STACK_TEXT' nondiscardable
DEFEND
NOBELL
FILE __________, DBFCDXAX
SEARCH Five, FiveC, Objects
LIB DBFAXS
LIB WinApi, Clipper, Extend, DbfCdx, _Dbfcdx, Terminal , Barlib , Ctp
LIB AXSC2WIN
3) Alterations in the Program
REQUEST DBFCDXAX / I used DBFCDX
RDDSETDEFAULT([DBXCDXAX]) / I used _DBFCDX
#INCLUDE "DBFCDXAX.CH" / it is necessario ?
I use the following function for not link RDD default (DBFNTX) :
ANNOUNCE RDDSYS
INIT PROCEDURE RDDINIT
RETURN
Must continue using ? I copied DLL AXCOMM16.DLL and ADSIP16.DLL in directory where the application is executed . I didn't find DLL AXSCOMM.DLL , it is the same that AXCOMM16 ?
4) Result :
I obtain the following message :
Blinker 1004 : SYSCTRL.OBJ(SYSCTRL) : RDDSYS IS DUPLICATED IN
DBFCDXAX.OBJ(DBFCDXAX)
And the program generates a GPF when it executes.
1. solved the problem :
I can't use SEARCH , I Have to use LIB in the following script line :
SEARCH FIVE,FIVEC,OBJECTS ............
if I uses SEARCH occurs a GPF.
--------------------------------------------------------------------------------
When opening my files with ADS , one of the files doesn't have index , just a MEMO (FPT) , when the program is going opened him occurs the following mistake :
ERROR DBFCDXAX 1020 : WORKAREA NOT INDEXED.
all of the files used for ads has to have one Index ?
EXACTLY !!! all the files must have an index in order to use ADS support, remember, an RDD is normally used for indexing support.
NO, NO, NO !!!!! You don't need and index to use ADS. I use ADS everyday with no index on some files.
--------------------------------------------------------------------------------
Please I need a link script to use Advantage database server with Clipper 5.2e, FW 1.95 and Blinker 5.1.
BLINKER CLIPPER SYMBOL OFF PACKDATA PACKCODE MAP
BLINKER INCREMENTAL OFF
FILE C:\OPTOWIN\OPTOWIN.OBJ
FILE C:\OPTOWIN\ADR_100.OBJ
FILE C:\OPTOWIN\ALL_100.OBJ
FILE C:\OPTOWIN\ART_100.OBJ
FILE C:\OPTOWIN\BAN_100.OBJ
FILE C:\OPTOWIN\BRI_100.OBJ
FILE C:\OPTOWIN\CON_100.OBJ
FILE C:\OPTOWIN\CHA_100.OBJ
FILE C:\OPTOWIN\DBF_100.OBJ
FILE C:\OPTOWIN\DBF_300.OBJ
FILE C:\OPTOWIN\DTA_100.OBJ
FILE C:\OPTOWIN\ERR_100.OBJ
FILE C:\OPTOWIN\ELG_100.OBJ
FILE C:\OPTOWIN\EXL_100.OBJ
FILE C:\OPTOWIN\ERL_100.OBJ
FILE C:\OPTOWIN\EML_100.OBJ
FILE C:\OPTOWIN\EMA_100.OBJ
FILE C:\OPTOWIN\FAS_100.OBJ
FILE C:\OPTOWIN\FIR_100.OBJ
FILE C:\OPTOWIN\GBS_100.OBJ
FILE C:\OPTOWIN\GLC_100.OBJ
FILE C:\OPTOWIN\GLP_100.OBJ
FILE C:\OPTOWIN\GLS_100.OBJ
FILE C:\OPTOWIN\INV_100.OBJ
FILE C:\OPTOWIN\INS_100.OBJ
FILE C:\OPTOWIN\IMG_100.OBJ
FILE C:\OPTOWIN\KST_100.OBJ
FILE C:\OPTOWIN\LOG_100.OBJ
FILE C:\OPTOWIN\LST_100.OBJ
FILE C:\OPTOWIN\LIN_100.OBJ
FILE C:\OPTOWIN\LIP_100.OBJ
FILE C:\OPTOWIN\REF_100.OBJ
FILE C:\OPTOWIN\BRP_100.OBJ
FILE C:\OPTOWIN\MES_100.OBJ
FILE C:\OPTOWIN\MLT_100.OBJ
FILE C:\OPTOWIN\MYL_100.OBJ
FILE C:\OPTOWIN\MYC_100.OBJ
FILE C:\OPTOWIN\RASDIAL.OBJ
FILE C:\OPTOWIN\PAC_100.OBJ
FILE C:\OPTOWIN\PAS_100.OBJ
FILE C:\OPTOWIN\PAS_200.OBJ
FILE C:\OPTOWIN\POS_100.OBJ
FILE C:\OPTOWIN\PRE_100.OBJ
FILE C:\OPTOWIN\QBE_100.OBJ
FILE C:\OPTOWIN\REC_100.OBJ
FILE C:\OPTOWIN\REG_100.OBJ
FILE C:\OPTOWIN\REP_100.OBJ
FILE C:\OPTOWIN\REPO.OBJ
FILE C:\OPTOWIN\RPT_100.OBJ
FILE C:\OPTOWIN\SCH_100.OBJ
FILE C:\OPTOWIN\SCH_200.OBJ
FILE C:\OPTOWIN\SER_100.OBJ
FILE C:\OPTOWIN\SNR_100.OBJ
FILE C:\OPTOWIN\STT_100.OBJ
FILE C:\OPTOWIN\SYS_100.OBJ
FILE C:\OPTOWIN\TDM_100.OBJ
FILE C:\OPTOWIN\TER_100.OBJ
FILE C:\OPTOWIN\TEX_100.OBJ
FILE C:\OPTOWIN\TRT_100.OBJ
FILE C:\OPTOWIN\TRT_101.OBJ
FILE C:\OPTOWIN\TDT_100.OBJ
FILE C:\OPTOWIN\TGET.OBJ
FILE C:\OPTOWIN\MGET.OBJ
FILE C:\OPTOWIN\UEB_100.OBJ
FILE C:\OPTOWIN\USE_100.OBJ
FILE C:\OPTOWIN\USL_100.OBJ
FILE C:\OPTOWIN\UTW_TER.OBJ
FILE C:\OPTOWIN\WININET.OBJ
FILE C:\OPTOWIN\XCO_100.OBJ
FILE C:\OPTOWIN\EDTFUN.OBJ
FILE C:\OPTOWIN\INFSCR.OBJ
FILE C:\ACT\OBJ\BIVBX.OBJ
FILE C:\ACT\OBJ\PREDT.OBJ
FILE C:\ACT\OBJ\REGIST.OBJ
FILE C:\ACT\OBJ\TER.OBJ
LIB C:\ACT\lib\DBFCDX
LIB C:\ACT\LIB\_DBFCDX
LIB C:\ACT\lib\DBFAXS
LIB C:\ACT\LIB\FIVEDB53.LIB
LIB C:\ACT\LIB\NINETY5.LIB
LIB C:\ACT\LIB\FIVE
LIB C:\ACT\LIB\FIVEC
LIB C:\ACT\LIB\OBJECTS
LIB C:\ACT\LIB\WINAPI
LIB C:\ACT\LIB\AXSC2WIN.LIB
LIB C:\ACT\LIB\TER.LIB
file C:\ACT\OBJ\MPAR.OBJ
DEFBEGIN
name Optowin
description 'Kill your memory'
exetype Windows 3.1
code moveable discardable preload
data preload moveable
stacksize 9500
heapsize 2048
segment 'PLANKTON_TEXT' nondiscardable
segment 'EXTEND_TEXT' nondiscardable
segment 'OM_TEXT' nondiscardable
segment 'OSMEM_TEXT' nondiscardable
segment 'SORTOF_TEXT' nondiscardable
segment 'STACK_TEXT' nondiscardable
DEFEND
BLINKER CLIPPER SYMBOL OFF
Thanks for your response but the link script you post is for Clipper 5.3 and I need for 5.2e.
--------------------------------------------------------------------------------
I want to try Advantage Xbase Server. Does anyone know where I can find it?
http://solutions.advantagedatabase.com
--------------------------------------------------------------------------------
Does FiveWin work with Advantage?
Yes it does! Rene Flores uses it frequently. Rene?
Yes it works great, as it does with Dos clipper, we have been using it for some time now. My only grip is its expensive (in SA) which is making us look at alternative products
YES; no problems at all. You need a special link-script and in your app. these rows:
REQUEST DBFCDXAX
RddSetDefault("DBFCDXAX")
SET AXS LOCKING OFF
ADS works superb with FiveWin (faster than in DOS, super stable and great with data transactions), we have been using it for a long time ago (almost 4 years) in several projects with our apps with FW, we are testing actually with Xbase++ (in DOS mode) and seems to work good. Keep in touch, Extended Systems (the producers of ADS) are planning to create a Driver for Harbour and if it works as Harbour will do, boy, you will have a great DataServer.
there is already a ads rdd driver in harbour and it works good......
Are they writing their own DBFCDX, does anybody know? I would be much happier if I knew I could buy COMIX for Harbour and use that which I know is proven in what is such a critical part of the whole product
DBFCDX is actually working in harbour already before DBFNTX and it is part of harbour so there is no need to buy it separately.
My point is ...Did they re-write it from scratch?? and if so its bound to be buggy, and database handling has to be 100% perfect......... Look at Clipper5.2e DBFCDX which was buggy so CA when they released Clipper 5.3 licensed COMIX and used that in 5.3 as DBFCDX instead of their own buggy version. To me COMIX is king (for local /small network access) and that is what s/be in Harbour
Is COMIX still alive?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com
office" /> My version is from 1997.
yes, for 5.2 if you have Clipper 5.3, the DBFCDX in Clipper 5.3 is Comix.
I think Bruno is about done with the cdx driver for harbour. i don't know if it will support all the comix stuff <i hope so>
is it likely that one person can get right in a short time what has evolved and been developed by many over a long period of time....., what's the likelihood?
--------------------------------------------------------------------------------
It's possible to know how can you work with Borland Control without Fivewin/3 error?
because i made a little aplication, and this crash when reopen some dialog with Borland Control , I renamed the Bwcc.dll to miBwcc.dll and load in the begining of the main program, and free on then end, but this not work correctly (FiveWin/3 error). The strange is that the aplication work fine in my pc where i develop this, but in other machine (same version and revision of windows 95) don't work, i copied the Bwcc.dll, ctl3d.dll..... but don't work, How do you do?
Avantage doesn´t use borland controls, they use modifications to TBTNBMP class to make the buttons look like borland's. Suggestion: stop using Borland controls, they only give headaches !!!
--------------------------------------------------------------------------------
You can probably improve memory usage if you use ADS by upgrading your client to 5.5
Below is extract from Advantage upgrade doc
What's New in v5.5
a) The amount of DGROUP used by the DBFAXS.LIB library has been drastically reduced. Older versions of DBFAXS.LIB could use over 5K of DGROUP. Version 5.5 of DBFAXS.LIB will only use approximately 1.5K.
--------------------------------------------------------------------------------
I'm using clipper 5.3 (DBFCDX) With Fivewin 2.3. I want to go to ADS 5.5 (Client) + 5.7.2 (Server)
With DBFCDX my application is very fact ( using OrdKeyNo and OrdKeyCount )
With DBFCDXAX my application is Sloooooooooow ( using Ax_KeyNo and Ax_KeyCount )
Why ?
May Ax_ function are not well implemented ?
BAD !
Do you use the function Ax_driver() in your Skipper() function ? This really slows down the application.
I have no problems with Ax_KeyNo() and Ax_KeyCount()
no i do not use ax_driver() in the skipper function. I'm using WBrowse, is wbrowse use ax_driver ?
thanks for reply !
If you mean the class twBrowse() from wBrowse.prg; it does not use ax_driver().
My ads browses are fast and I also use client version 5.5. If you send me your sloooooow code I will take a look at it.
Thanks fo reply. I solve my problem not using ax_keyno().
--------------------------------------------------------------------------------
I am using ADS and need to have Raw Save method without implicit locking and
unlocking. I need to control the locking and unlocking myself. Earlier Mr.
James Bott was kind enough to post a solution subclassing TData, using an
undocumented save method. I lost this posting and not able to relocate it.
I shall be glad if Mr. James Bott advises how to subclass TData so that I
can have a save method without locking or unlocking.
You don't have to subclass, just call the saveData() method instead of the save() method.
Thank You
--------------------------------------------------------------------------------
I am using ADS. Though the error I am trying solve is an Advantage error, the source of the problem is the behaviour of Refresh() and Paint() methods. The error is Advantage DBFCDXAX/6619, which means that "The client comm layers was busy with one database operation when a second database operation was requested".
Our applications have sevaral browses and the users have choices to change 'orders', choose different filters, etc while viewing the browses. While the refresh operations are fast on LAN, the refresh operations take between 1 to 2 seconds on WAN (64 kbps connectivity thro permanent / ISDN). When a user over WAN initiates a filter or change of order, the refresh takes about a second and if he triggers another change (filter or order) before theearlier refresh finishes, the above error occurs.
In the DOS TBrowse, there is a vaiable TBrowse:stable. In such a case, we can check for :stable before changing the filter or order to avoid the above error. But either in TWBrowse or TSBrowse, I could not find any such vaiable and through my program I am not able to decided if the Refresh() andPaint() operations were completed.
If there is a way to query the browse object, to find out if the browse is stable ( or if the refresh or paint operations were completed ) it is
possible to hold up the second request for change of filter/order till the browse is stable.
Can Mr.Manuel Mercado or any other help please?
There are some issues on the website of advantage on this problem. The main problem is that ads supports multitasking, this can lead to error
6619 in some cases. This problem can also occur in normal network-conditions. I solved this problem by changing the adsipx16.dll and the adsip16.dll on every workstation to the versions that do not support multitasking. These are not the default .dll files; I got them from advantage.
Also, I have modified the errsysw.prg to support some other ADS errors. I also made a function that auto-copies the .dll files to the workstation if these are not present. If you are interested I can send you these files; send me an email.
I am very thankful for your reply. I have been struggling with this problem for quite sometime.
I shall be extremely thankful if you can kindly send the dlls and your modified errsysw.prg. I do hope this will avoid the errors we are facing.
Thanks in advance
Files have been sended to you. Succes.
--------------------------------------------------------------------------------
If I do this "Set _3DLook On" with ADS and NT 4.0, the 3D controls are disabled but if ADS not linked seems OK on NT
4.0. How can I fix this?
My AP working fine on WinXP.Below:
INIT FUNCTION App_Init()
RddRegister( "ADS", 1 )
RddSetDefault( "ADS" )
Set SERVER LOCAL
Set FILETYPE TO CDX
........
Set _3DLook ON
Set Resources to 'KIDS32.dll'
......
Return Nil
Exit Function Exit_Init()
Set 3dLook Off
Set Resources to
Return Nil
have you try using my ctl3d.lib?
Sorry to bother.
I forgot to copy the Ctl3D.Dll to my working directory
))
Thank you for all your support.
Jose, I'll try your Ctl3D. OK?
))
--------------------------------------------------------------------------------
My apps hanging on tsbrowse right click mouse on Fw2.1c and ADS 6.0 client.
What should i do?
It's OK now. I Have to call AX_TagOrder() before TSBrowse. Strange......
Thanks anyway.
--------------------------------------------------------------------------------
Did somebody use Advantage Local Server with Fivewin/Clipper? There are ACE functions ADSSetServerType and
ADSConnect, but how to use these ACE functions under Fivewin?
can not be used with 16bit clipper/fivewin applications. But can be used
with 32bit Harbour applications
--------------------------------------------------------------------------------
I'm trying to implement the ADS local server and I seem to have too many #include files. I'm getting the following compiler error.
Fatal C3048 Preprocessor table overflow
I can't seem to find any help in the Norton Guides.
Using 5.2e
including:
FIVEWIN.ch
TSBROWSE.ch
TSBUTTON.ch
ADSNTXAC.ch
put these defines before all your include files
#define _VIDEO_CH // if you are not using videos in your prg.
#define _DDE_CH // if you are not using DDE's
#define _TREE_CH // if you are not using Trees
#define _DLL_CH // if you are not defining DLL functions
#define _OBJECTS_CH
and then
#include "fivewin.ch"
now please try
Thank you - that worked well.
--------------------------------------------------------------------------------
I am looking for a List of functions for the ADS library but can not find them. A Manual of functions to call? Can anybody help by
giving me the Address for the Page on the Web. Were the Functions are listed.
Thank you.
PS
I have pick up some of the Functions. But don't know all the Par. to pass to the functions.
If you downloaded the ADS client for Clipper the there's a Norton Guides with all the functions documentation.
In other clients, such Delphi one, a HLP file is provided.
I am using the DLL for Harbour and Fivewin 2.3 is it the same as the ADS Client for Clipper?
--------------------------------------------------------------------------------
I am finamy going to convert a program from Comix 3.0 single user to ADS client server.
I have already a client server Fortress. That should be working better for Comix users. But that application did'nt work fine because
of a problem with the ipx drivers. The clients were W98 WME and W2000. Fortress was fast to sell but when I contact them with a problem they never reacted. This happend several times.
I often use the CmFilter() in my application that has to be changed. Is there an equivalent in ADS. Is there a fast way to convert.
Sorry, I have more questions.
Is the server also able for later use with Harbour ?
I think ADS works also with IPX. Are there any problems known with this driver in collaboration with internet. Have they already a
TCP version and is this working stable.
Is the local server working in a client server situation while developping. I mean data on Pc1 and program on Pc2 ?
I know, many questions, but here is the place to ask so.
Yes your coADS code will work the same with Harbour.
I am finamy going to convert a program from Comix 3.0 single user to ADS client server. I have already a client server Fortress.
That should be working better for Comix users. But that application did'nt work fine because of a problem with the ipx drivers. The
clients were W98 WME and W2000.Fortress was fast to sell but when I contact them with a problem they never reacted. This
happend several times.
What a shame.
I often use the CmFilter() in my application that has to be changed. Is there an equivalent in ADS.Is there a fast way to convert.
I don´t remember but you can make a question in his news forum. Check
www.advantagedatabase.com for the link
Sorry, I have more questions. Is the server also able for later use with Harbour ?
Yes
I think ADS works also with IPX.
Yes. The only trouble you can have is with Windows Me and XP Home Edition because it cant be connected to a server, just peer to peer.
Are there any problems known with this driver in collaboration with internet.
No, I never got any problems but got some problems whit protocols and the like.
Have they already a TCP version and is this working stable.
Yes
Is the local server working in a client server situation while developping. I mean data on Pc1 and program on Pc2 ?
I never test the Local Server but I know many user of FW have done that.
We have installed over 500 ADS licenses during the las 5 years and let me tell you that is a superb product.
>I have already a client server Fortress. That should be working better for Comix users. But that >application did'nt work fine
because of a problem with the ipx drivers. The clients were W98 WME and >W2000.
ADS runs on both, IPX or TCP/IP, if your app is a Clipper FiveWin one, it will automatically detect the protocol and will work with any
problem.>Fortress was fast to sell but when I contact them with a problem they never reacted. This happend >several times.
ADS has a wonderful tech support team, a huge, enormous knowledge base with almost all the problems you can find solved, a
news group is also available and your questions are solved within the next 24 hours you posted them.>I often use the CmFilter() in
my application that has to be changed. Is there an equivalent in ADS.>Is there a fast way to convert.
ADS has one thing called Advantage Optimized Filters (AOFs), they are incredibly fast no matter how big is you database.
>Is theserver also able for later use with Harbour ?
Yes !!!!, you bet, the same server can be used with Clipper, Harbour, VisualBullshit, Delphi, or C.>I think ADS works also with IPX.
Are there any problems known with this driver in collaboration with >internet. Have they already a TCP version and is this working
stable.
As I told you before, ADS works great on both (IPX would be my choice, it's faster) but if you have TCP/IP installed it will work, and
also if you have IPX installed.
ADS has a plug-in called Advantage Internet Server (AIS), boy, this is a great tool, just put you ADS server in the internet running
AIS, and the same client program you use in your local area network will be using your remote data via internet, no matter where in
the world you are. this is cool
.>Is the local server working in a client server situation while developping. I mean data on Pc1 and >program on Pc2 ?
Nop, Local Server doesn't include client/server capabilities, it's only provided for you to test your programs.
>I know, many questions, but here is the place to ask so.
You can also go to :
http://solutions.advantagedatabase.com to get more technical help on this issue.
Local Server is for 32 bit only
(
but if you have one PC like i have, use VMware to create virtual network and test your app from vmware's client OS (3.1,95,98,ME,2K,XP or even Linux). That's great! Good luck on your convertion.
I tested ADS for Win9x/Me in a stand alone PC, i conected two FW application to the server in the same machine this work, i testd transaction and work. I useed ADS 6.11 5 users Trial for win9x/me
--------------------------------------------------------------------------------
I have installed the evaluation version of ADS 6.11 on my W2000 server. When I press CTRL ALT DEL on the server I see ADS is running
I made a small test program in FiveWin.
I found it strange that there is no point in the source code that points to the servermap were the data is stored.
The test program gives an error
"FIVEWIN veroorzaakte een algemene beschermingsfout in module herbs.exe op 0009:7DC2"
Can someone tell me what I forgot.
I can't find ideal settings for stack and heap. May be the problem is there.
I use this the check everything:
{
If ax_Loaded( "\\server\path\" )
rddSetDefault( "DBFCDXAX" )
ax_RightsCheck( .F. ) // by-pass NT rights checking. ("\path\" not even shared or users have no idea this path exist)
ax_AXSLocking( .F. ) // share locking to other apps
Else
Quit
End
}
On your link:
{
<others>
FILE DBFCDXAX
FILE AOF
LIBRARY AOF
LIBRARY DBFAXS
<fivewin lib>
LIBRARY AXSC2WIN
}
Thanks I think I just made my first connection to a dbf via Ads.
Every time I start the small test program my firewall tells me that"NTVDM.EXE" tries to connect to internet.
It begins with NT, so it could be a part of W2000.
Someone any idea what this is.
Remember that you can't run your program in a local drive (where are the server)
--------------------------------------------------------------------------------
I am converting my first application from COMIX to ADS.
The orderDetail file has about 100.000 records and is indexed on 9 different indexes.
Only index 6 has a function --> StrZero(Coef,6,4)
I think StrZero() is known by Clipper and ADS.
All the others indexes consist of 1 to 3 character fields.
An important screen contains initially all de order details. The user can choose a period, client, clienttype and so on.
Every time I change something in the query I have to wait more than a minit. With comix this was only a few seconds with 3
simultan users.
Several times when asking some queries the program finisch without any error. All program screens simply disappears.
My stacksize is 10000
and the heapsize is 1024
I think I am doing something wrong but I cannot find it.
Are you opening and closing your files while you're doing your queries?
One of the things that ADS requires is that you should open your tables only once because it takes longer time to open the files
through ADS.
That depends on the contents of the query. When you query on the. When you choose a dealer the program first opens de
dealerfile. Returns the number (string) of the dealer to compare in the query. After choosing the dealer the dealer file is closed.
I try too change the concept today. Becauwe I always use a Is_Open_Dbf(file,index,...) I can change that to open all files at the
beginning and the Is_Open_Dbf() can be a select.
I Think that cannot be the cause because the Order detail file is also indexed on periode plus day. When I fill in the from-period
"20020515" 15 may 2002. The program just need that one index. It should go fast but it does not.
Anyway I will open all files at the beginning. I let you know the result.
The program is changed now. All files are opened at the beginning.
I still need 50 seconds for a simple query in 100000 records. Each record = 103 Bytes. So it is not a big one.
Are you using filters or scopes?
If you're using filters try using the ones from ADS.
If you think the problem is the strzero() index try changing that index by creating your own strzero(). However, I doubt it is the
strzero() function. I have indexes using local functions and my queries have woked fine with ADS.
> If you're using filters try using the ones from ADS.
I have changed CmFilter() from Comix into AofSetFilter()
For the complex queries I use filters because it is impossible to solve everything with scopes
I don´t agree with you. My experience is that ADS with Novell is rather fast.
And I don´t think that the right way is to open all database when you start the app. I can not imagine how you work in an event
driven environment without an oDbf-object (I use TData !) for every new dialog/window: so you must open the databases you need for
every dialog/window in a new area - or am I wrong?
Maybe I'm wrong but what I have learned from ADS it is that whenever a file is being open it takes much longer than any other driver.
In a local network environment this may not be the problem but in an wan evironment it is rather slow. Maybe in newer versions of
ADS this has been improved but I worked this with Novell ADS with version 4.0.
I agree with you that with an event driven environment files must be kept opening and closing. However, the less you keep opening
and closing the better. Also when you use the TPS with ADS you should not open any files or create any files during the transaction.
I am changing my application. That means that I am adding some new characterfields which contains expressions, so I can
index straight on that expression.
The result is very fast but it is a big change.
Maybe it is a good tip for everybody. When setting up an application build extrafields on which you can build simple indexes. It
is the cornerstone of fast applications.
I still have to change several child tables from AofSetFilter to Scopes. A simple orderdetail goes faster with scopes.
In a stand alone comix situation I could not see a difference but of course that is a stand alone situation.
Thanks to all who helped me in this beginner situation.
I think you were right from the beginning. I just remember that ADS does not support some expressions specially when you use
UDF's in your index expression. I just found this in the ADS NG for version 4.2. I think this is important to remember. I don't know if
with newer versions of ADS this can be supported.
In any case what I told you about the opening of files is also another important issue to consider.
Yes I found it. I used the function Asc() in an expression. Now it isalready working better.
Not all of the proplems are solved but ADS keeps me busy for just a fewhours and everything needs his time.
Thanks for your support.
--------------------------------------------------------------------------------
I have ADS 6.11 , Clipper 53.b, FW 2.3 , Blinker 6.0 , TCP/IP
I made a small test program in FiveWin.
Function ax_Loaded( "\\server\path\" ) always return .F. !
during that the same in
DOS version is O.K. ( by ADSDOSIP.EXE )
"\\server\path\" is also O.K.
link:
{
<others>
FILE DBFCDXAX
LIBRARY DBFAXS
<fivewin lib>
LIBRARY AXSC2WIN
}
never occured to me this situation. can you post that small program so we can test.
Do you have installed the comunication DLLs needed for a FiveWin app?
ADSIP16.DLL, ADSIPX16.DLL y AXCOMM16.DLL
If so, where did you place them ?
--------------------------------------------------------------------------------
My first Client server becoms a fact. Indeed it is going fast. But I stil have some problems.
When I keep pushing navigation buttons. PgDn of PgUp or when I am going fast through a table with scrollbars, the program crashes
without any error. The program simply disapear from the screen.
It happens with W2000 as a client and also with WME. It happens in a complex table with relations but also in a simple clientlist
that uses only 1 dbf without lookups and so on.
have some additional info on this error.
Now the program crashed but there was an error description
"ERRORDIAL (0) unrecoverable error 650 : Processor stack fault"
The word "Dial" in the error and the fact that the program tries to make a internet connection at startup makes me think that it has
something to do with the fact that the server is still a trial version.
I received a trial from ADS 2 weeks ago.
This error occurs when the errorsys does not have enough memory to show de dialog error but perhaps exist the error.log file
check these one.
On the other hand, are you using TCBROWSE? it have memory problems, use TSBROWSE instead.
here was no error log created.
I do'nt use TcBrowse()
Maybe I have to look also for an alternative error system that uses less memory.
It´s easy, make your own errorsys function displaying the error and quiting the program. Later put again the standard errorsys.
> On the other hand, are you using TCBROWSE? it have memory problems,
What memory problems?
Gustavo says that the reason I am getting a 650 is a memory fault. In this case it is not the result of using TcBrowse() because I do
not use it. I use TWBrowse and TsBrowse().
I think he means that the error system also need memory.
Interesting point is that some bugs does not result in an error-dialog but only consumes some memory. When that occurs in a loop
(maybe that is what happens in my problem situation - PGDN read several records and refresshes the screen in a loop) there is an
error from the point the program is runned out of error.
When typing this I also read Axel's answer. That is an interesting point I first go to test that.
The f*kng 5333.
¡¡Si habremos hablado por este tema!!, despues aparece A.L. promocionando no se que nuevo super browse, si le van a dar soporte como
se lo dieron al TCBrowse bien embromados vamos a estar. De no haber sido por el TSBrowse tuyo y de Manuel no se que sería de mi aplicación. Si puedes traduce esto al Ingles, que mi furia me lo impide.
sometimes Ive got the same error 650. I dont work with ADS. Maybe the reason was much traffic in the net. Dont know. But since I
link with Blinker 5.1 and increased the stacksize to 4096 I have no error 650.
Correction:
stacksize: 9500
heapsize I increased to 4096
The problem is not solved but this time I have a log file
(b)ERRORSYS (0) Unrecoverable error 650: Processor stack fault
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
ERRORDIALO 0000
(b)ERRORSYS 0000
(b)SETFILTER 0000
TWBROWSE:PAGEDOWN 0000
TWBROWSE:KEYDOWN 0000
TWBROWSE:HANDLEEVEN 0000
_DBSKIPPER 0000
(b)SETFILTER 0000
TWBROWSE:SKIP 0000
TWBROWSE:PAGEDOWN 0000
TWBROWSE:KEYDOWN 0000
TWBROWSE:HANDLEEVEN 0000
DIALOGBOX 0000
TDIALOG:ACTIVATE 0000
KLANTTAB 0425
(b)MAIN 0101
TBTNBMP:CLICK 0000
TBTNBMP:LBUTTONUP 0000
TBTNBMP:HANDLEEVEN 0000
WINRUN 0000
TWINDOW:ACTIVATE 0000
MAIN 0158
The problem start in the line where you define the filter expression. If you are not putting any filter expression then the problem
is on TwBrowse so you will need to compile the TwBrowse with line numbers to check exactly in wich line is the error.
I have added some memory into the server. The server has now 256 MB.
It makes no difference. The problem stays.
I think the program always calls the setfilter method from TWBrowse() I have changed the program so that there was absolutely no
filter in the database.
The call to SetFilter always stays. I placed a simple Browse() after opening the file. I results in the same error.
I have a friend who had the some problem and he discovered that there is a problem in TWBrowse using NTX indexes. He moved to CDX
and solved the problem.
use already CDX.
I was using FW2.2 and I have just installed FW2.3. There is a difference now. The errorsys gives a ADS 6619 error
6619 Client comm layer was already busy with one database operation when a second database operation was requested.
So I found the nature of the error but the errorlist does not gives a solution.
I sugestt you to contact the ADS supplier. Some time ago I got these errors and was the dlls on the client side whith large databases.
Ads informed me that I have to make a ADS.INI wth contents
[SETTINGS]
MULTITASKING_OFF=1
This does not help. Does anybody has know if there has to be a call to that INI from within FW.
As I know the .Ini does not apply to 16 bits applications.
My firewall software confirms that ADS tries to make an Internet connection when the fivewin programa starts up.
I have a full two user version installed.
--------------------------------------------------------------------------------
Does someone use ADS server
W2000 + TCP/IP + Clipper 5.3b + adsdosip.exe ( DOS without FiveWin)
Changing compilation from 5.2e to 5.3 happened the work strongly slower.
Adsdosip.exe shows
transmission more quantity of packs with identical activities looking over the base.
The libraries Dbfaxs.lib are dated - 25.09.2001
ADS libs for 5.3 are not the same that the ones for 5.2., did you checked
you are using the right ones ?
On the other hand, what version of Clipper 5.3 are you using, service pack "a" or SP "b".
--------------------------------------------------------------------------------