Page 1 of 1

Problems with ADS after upgrading to 2.7

PostPosted: Fri Mar 03, 2006 11:29 pm
by reinaldocrespo
Hi.

After upgrading from fwh2.5 to fwh2.7 and from xharb 0.99 to xharb 0.99.6, the application no longer accesses the REMOTE ADS server. I'm getting an ADS error 5132.

I'm using the same ace32.lib created with implib from ace32.dll and the new rdd_ads.lib that's found on \xharbour_0.99.6\lib.

Working with the LOCAL server, I have no problems. The problem is only with the REMOTE server (which is the one that matters to me).

Any ideas what is wrong?

PostPosted: Sat Mar 04, 2006 6:01 am
by R.F.
There ware changes in the RDDADS in the most recent release of xHarbour...

did you changed the REQUEST _ADS by REQUEST ADS ?

I've tested FWH 2.7 and all seems to be working ok.

Please feel free to contact me via private email, so I can give you a hand.

By the way I'll be in Miami from April 1 to 5, may be we could meet each other.

PostPosted: Sat Mar 04, 2006 3:21 pm
by reinaldocrespo
René;

I'll be most pleased to meet with you in Miami. I'll love to chat a while. I'll take you to dinner and a beer. How is that?

On the ADS subject, I'm puzzled.

I'm requesting ADS instead of _ADS with both versions of the compiler. AMOF, here are my requests no matter the compiler version in use:

REQUEST DBFCDX
REQUEST ADS
REQUEST ADSKeyCount, ADSKeyNo, OrdKeyCount, OrdKeyNo

I must admit, that with the older version of the compiler I rebuilt rdd_ads using updated .c sources. So that explains why I never REQUESTed _ADS.

If I change my compile-link script to use xharb 0.99 and fwh 2.5 it all works just fine again. I must add that whenever I change the compiler to xharb 0.99.6 with fwh 2.7, I must also take out DBFDBT.lib and add HBSIX.lib. No other changes. It all compiles with no errors on both versions. The problem is at run time. With the new version of the compiler, the app connects to the REMOTE server ok, but can not open any of the dbfs without generating a run time ADS error 5132.

I have another application that creates the DD. I moved that app also over to 0.99.7 and fwh 2.7. Aside from the fact that no longer do I have ADSConnectionhandle() function available in the new rdd_ads, It all works fine. Now, that app only creates the DD via ADS API calls. I do not try to connect to any dbf here.

I'll keep investigating. If I find anything else, I'll write to you. Remember to let me know when the day approaches for your visit. ok? Looking forward to meeting you.

Take care,


Reinaldo.

PostPosted: Sat Mar 04, 2006 5:36 pm
by Antonio Linares
Reinaldo,

>> Dbusearea( ::lNew ,::cRDD ,::cFileName ,::cAlias , ::lShared
>> ,::lReadonly )

Please place a MsgInfo( ::cFileName ) before that call just to check what name is used.

PostPosted: Sat Mar 04, 2006 6:13 pm
by reinaldocrespo
Antonio;

On the error window the file being attempted to open is displayed.

"u:\ide2\adsdata\upi\users.dbf"

And that is the correct file name and path alright. Remember, I can recompile the app over with xharb 0.99 + fwh 2.5 and it all works just fine. No changes to the code...

Reinaldo.

PostPosted: Mon Mar 06, 2006 9:35 am
by Antonio Linares
Reinaldo,

It looks as the problem is that the path should not be used, just the DBF name :)

PostPosted: Mon Mar 06, 2006 12:30 pm
by reinaldocrespo
Antonio;

Listen, at some point in the xharbour compiler development, and I suppose the same holds true for harbour, the change was made so that including the path to the tables would cause the ADS 5132 error message. The change --most unexpected. The error --most cryptic.

I've learned that after connecting to the DD, you now reference the tables by name their "internal" DD name which might be different than the physical name. I had never heard of the change and I beleive that it will cause a lot of headache.

I got the apps working again with the server, so no complains on my side.

Best,


Reinaldo.