ADS (Advantage Database Server) 8 and FWH (Microsoft)

Post Reply
User avatar
modicr
Posts: 207
Joined: Fri Oct 07, 2005 7:58 am
Location: ljubljana, barje, slovenia
Contact:

ADS (Advantage Database Server) 8 and FWH (Microsoft)

Post by modicr »

Hello!

I want to use ADS 8 with my FWH application. According to
the documentation at http://www.fivetechsoft.com/english/fwh.html
The link where you can find all the needed DLLs is on Advantage web site , developers resources section. Once there, you will need to register yourself, then you will have access to the Advantage Solutions web site. Then go the download area and select the 5.7/2.7 release section and click to download the file arc.exe. This software includes all the needed libraries which are:

ACE23.DLL: The 32-bit Advantage Client Engine.
AXCWS32.DLL: The Advantage 32-bit communication layer for client/server access.
ADSLOC32.DLL: The 32-bit Advantage Local Server.
EXTEND.CHR: OEM collation sequences. This file is needed if OEM character sets are to be used with Advantage Local Server.
ANSI.CHR: ANSI collation sequences. This file may be needed if ANSI character sets are to be used with Advantage Local Server.
ADSLOCAL.CFG: The configuration file for Local Server.
All these files should be placed on the \WINDOWS\SYSTEM directory. In case you have a Advantage Database server then you will only need ACE32.DLL and AXCWS32.DLL

To use the Advantage RDD from your Harbour applications you just need to do the following:

Make a reference to file 'ADS.CH' on your PRG files when needed
Include in the link file the libraries rddads.lib and ace32.lib that came with fw for Harbour package
Request the Advantage RDD at the beginning of your application
I need rddads.lib & ace32.lib, but there is only rddads.lib in my Harbour(MS) folder.
I found ace32.lib in aceapi.exe at http://devzone.advantagedatabase.com/
Is it ok to use that file?

Regards, Roman
© I'm not patented!
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Roman,

ace32.lib is just an import library (it has no code) and should be created from the ace32.dll version that you are using.

To generate such ace32.lib file you may do:

impdef.exe ace32.def ace32.dll

lib.exe /def:ace32.def /out:ace32.lib
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Rick Lipkin
Posts: 2397
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Post by Rick Lipkin »

Antonio

I think Roman is looking for the Microsoft MSVC lib to dll conversion .. and I don't think there is one.. your solution is from the Borland compiler and will not work if Roman is compiling with MSVC ????

Rick Lipkin
User avatar
modicr
Posts: 207
Joined: Fri Oct 07, 2005 7:58 am
Location: ljubljana, barje, slovenia
Contact:

Post by modicr »

Hello!

I generated ace32.lib according to your instructions,
but it does not work. When I link resulting library
with my app, I receive more than 100 unresolved externals
like:
rddads.lib(adsfunc.obj) : error LNK2019: unresolved external symbol _AdsRollbackTransaction@4 referenced in function "void __cdecl HB_FUN_ADSROLLBACK(void)" (?HB_FUN_ADSROLLBACK@@YAXXZ)
Library ace32.lib, which I found in aceapi.exe, works OK.

Regards, ROman
© I'm not patented!
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Roman,

have you used Microsoft LIB.exe or Borland TLib.exe ?

> Library ace32.lib, which I found in aceapi.exe, works OK

good! :)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
modicr
Posts: 207
Joined: Fri Oct 07, 2005 7:58 am
Location: ljubljana, barje, slovenia
Contact:

Post by modicr »

Hello!

I used MS LIB - how can I use Borland TLIB?

Roman
© I'm not patented!
User avatar
modicr
Posts: 207
Joined: Fri Oct 07, 2005 7:58 am
Location: ljubljana, barje, slovenia
Contact:

Post by modicr »

(message deleted)
Last edited by modicr on Tue Jan 24, 2006 10:35 am, edited 1 time in total.
User avatar
modicr
Posts: 207
Joined: Fri Oct 07, 2005 7:58 am
Location: ljubljana, barje, slovenia
Contact:

Post by modicr »

Hello!

I noticed that Advantage uses its own Upper()/Lower() implementation
(Advantage Expression Engine), which is different than Harbour's.

Advantage takes into account 'Windows Locale" setting
http://www.cryer.co.uk/brian/windows/in ... _table.htm
while Harbour behaves like old 16-bit Clipper. Is it possible to
change behaviour of Upper/Lower in Harbour (something like SET
CODEPAGE TO WIN1250, for example)?

Roman
© I'm not patented!
Post Reply