INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

Advantage Database Server 12.0

Advantage Database Server 12.0

(OP)
Hi all,
this is a shot in the dark.

Does anyone use ADS 12 and xBase++.

Thanks

RE: Advantage Database Server 12.0

Hi,

Do you use ADS these days ?
if you do, what version ?

We use V8 on Novell

RE: Advantage Database Server 12.0

(OP)
Just started. Setup is tricky.
We have old clipper program that we had a consultant convert to xBase++ 2.0 and ADS V12.00

Tuff to find any support for ADS since SAP bought it.

RE: Advantage Database Server 12.0

We pretend to migrate to Windows based programs in a couple of years or more and need to keep ADS working with Clipper but unfortunately SAP discontinued the old versions of ADS. We offered them to buy new licenses but they refused to do it...figure it out...It's a calvary now to handle the licenses when we add new users.

By the way, don't you have the DISCONN.OBJ for Clipper ?

Thank you.

RE: Advantage Database Server 12.0

(OP)
Sorry I do not have the Disconn.obj. I searched our entire network and nothing.

RE: Advantage Database Server 12.0

Thank you anyway...

RE: Advantage Database Server 12.0

We have been using Xbase++ 1.9 and 2.0 with ADS for both OES/SLES and windows since 2013, formerly clipper/novell since 1995. Have been using version 12 in a 2 user development workstation but did not see any issues. Setup of ADS is not tricky, unless you are working in a linux environment. Only exposure to that is OES/SLES and it was fun. We have 200+ users.

We are a dealer and support directly from SAP has been somewhat OK. We only need them for somewhat tricky questions and they attempt to resolve the issue. Help with getting the OES environment initially setup was good.

RE: Advantage Database Server 12.0

(OP)
Hi Cliff.

We have a test server and a production server and my local drive.
No problem running off the production server because that is where ADS is installed.
Trouble we are having is running off of the Test server because that is on a different server, which we do not have ADS installed on. So we get the error message that ADS cannot see the files because they are on a server that is different than the one the EXE was started on.


RE: Advantage Database Server 12.0

You have two easy solutions. Make certain the adsloc32.dll in the folder where you ads enabled application is located and configure your ADS.INI file to use the local version. Most things should be supported, I can't recall the few things that are not.

I did this method for a long time on my development computer and some user would use this in production, though it is supposed to not have more than 10 users.

For testing purposes, the best way is to use the 2 user test version of ads. It is a full version of ADS (I don't think it would support replication), but allows 2 user so you can test your multi-user environments. Just load it on your test work station and the test server. There are versions available for ADS11 and ADS12. There is no cost for them and no license. It is in the SDK.

http://d1x450sr0i2zzc.cloudfront.net/ads12/dev/ADS...

This above is the link to the development SDK version. There also is a 32 bit version.

RE: Advantage Database Server 12.0

(OP)
Thanks Cliff.

I will try this soon and let you know how I make out!

RE: Advantage Database Server 12.0

(OP)
Hi Cliff,

I had those file and Installed them.

here is my situation:
ADS is installed on the server FoxA - when I run my production EXE from this server it works.

My testing server is called VFoxB - when I run my EXE from this server it does not work because.

In the Advantage Data Architect (ADR) when I try to create a database with the files from VFoxB I get the error: Error 5020: The path given was not valid. The path cannot be on a different server evil

Is there a way to have ADS/ADR have Data Dictionaries across servers?

Thanks!

RE: Advantage Database Server 12.0

A data dictionary cannot have files on 2 different servers. What you need to do is have a data dictionary for the files on each server. Then you create a 2nd database connection to the 2nd server and then you can access those files.

This is some code fragments. Drive G: is mapped to Server1 and drive H: is mapped to Server2. A separate ADS server is loaded on each server with its own license.

/*
This program copies the existing definition from g:\FCA\DATA to each of
the other companies
*/

#INCLUDE "AXCDXCMX.CH"

clear

oDACSession(1):SetDefault()

select 0
use fca SHARED VIA 'ADSDBE' Alias fca
select 0
use G:\aff\data\fca SHARED via 'ADSDBE' alias fcaAFF
select 0
use G:\dfs\data\fca SHARED via 'ADSDBE' alias fcaDFS
select 0
use G:\bfc\data\fca SHARED via 'ADSDBE' alias fcaBFC

oDACSession(2):SetDefault()

select 0
use H:\hg1\data\fca SHARED via 'ADSDBE' alias fcaHG1
select 0
use H:\hg2\data\fca SHARED via 'ADSDBE' alias fcaHG2
select 0
use H:\hg4\data\fca SHARED via 'ADSDBE' alias fcaHG4
select 0
use H:\afh\data\fca SHARED via 'ADSDBE' alias fcaafh

This is the modified dbesys that establishes 2 connections one to drive g: (server1) and one to drive h: (server2) The connection is only important when opening the file, they you access via the alias. You much close both connections also.

dbesys.prg (modified for 2 data connections.


// Xbase++ DatabaseEngine startup/preloader
//
// Syntax:
// DbeSys() is called automatically at program start before the
// function MAIN.
//
//////////////////////////////////////////////////////////////////////


#include "ads.ch"
#include "adsdbe.ch"

#define MSG_DBE_NOT_LOADED " database engine not loaded"
#define MSG_DBE_NOT_CREATED " database engine could not be created"

STATIC oDACSession1
STATIC oDACSession2

*******************************************************************************
* DbeSys() is always executed at program startup
*******************************************************************************

PROCEDURE dbeSys()
//
// The lHidden parameter is set to .T. for all database engines
// which will be combined to a new abstract database engine.
//
LOCAL aDbes := { { "DBFDBE", .T.},;
{ "NTXDBE", .T.},;
{ "CDXDBE", .T.},;
{ "DELDBE", .F.},;
{ "SDFDBE", .F.},;
{ "ADSDBE", .F.} }
LOCAL aBuild :={ { "DBFNTX", 1, 2 },;
{ "DBFCDX", 1, 3} }
LOCAL i
LOCAL cSession
LOCAL oThread

//
// Set the sorting order and the date format
//
SET COLLATION TO AMERICAN // changed for ADS
SET DATE TO AMERICAN

//
// load all database engines
//
FOR i:= 1 TO len(aDbes)
IF ! DbeLoad( aDbes[i][1], aDbes[i][2])
Alert( aDbes[i][1] + MSG_DBE_NOT_LOADED , {"OK"} )
ENDIF
NEXT i

//
// create database engines
//
FOR i:= 1 TO len(aBuild)
IF ! DbeBuild( aBuild[i][1], aDbes[aBuild[i][2]][1], aDbes[aBuild[i][3]][1])
Alert( aBuild[i][1] + MSG_DBE_NOT_CREATED , {"OK"} )
ENDIF
NEXT i
cServer := 'G:'
cServer := Upper(cServer)

cSession := "DBE=ADSDBE;SERVER=" + cServer

oDACSession1 := DacSession():new(cSession)

IF !oDACSession1:isConnected()
Alert( "Unable to establish connection to ADS Server" + ';' + ;
"Error Code: " + Alltrim(Str(oDACSession1:getLastError())) + ';' + ;
oDACSession1:getLastMessage() + ";" + "Using DBFCDX Driver", {"OK"} )
ELSE
dbeSetDefault('ADSDBE')
DbeInfo( COMPONENT_DATA, ADSDBE_MEMOBLOCKSIZE, 64 )
DbeInfo( COMPONENT_DATA, ADSDBE_TBL_MODE, ADSDBE_CDX )
DbeInfo( COMPONENT_ORDER, ADSDBE_TBL_MODE, ADSDBE_CDX )
DbeInfo( COMPONENT_DATA, ADSDBE_LOCK_MODE, ADSDBE_PROPRIETARY_LOCKING )
ENDIF

cServer := 'H:'
cServer := Upper(cServer)

cSession := "DBE=ADSDBE;SERVER=" + cServer

oDACSession2 := DacSession():new(cSession)

IF !oDACSession2:isConnected()
Alert( "Unable to establish connection to ADS Server" + ';' + ;
"Error Code: " + Alltrim(Str(oDACSession2:getLastError())) + ';' + ;
oDACSession2:getLastMessage() + ";" + "Using DBFCDX Driver", {"OK"} )
ELSE
dbeSetDefault('ADSDBE')
DbeInfo( COMPONENT_DATA, ADSDBE_MEMOBLOCKSIZE, 64 )
DbeInfo( COMPONENT_DATA, ADSDBE_TBL_MODE, ADSDBE_CDX )
DbeInfo( COMPONENT_ORDER, ADSDBE_TBL_MODE, ADSDBE_CDX )
DbeInfo( COMPONENT_DATA, ADSDBE_LOCK_MODE, ADSDBE_PROPRIETARY_LOCKING )
ENDIF

AX_AXSLocking( .T. ) // Set AXS locking to non clipper compatible
AX_RightsCheck( .T. ) // Turn off networks right checking // chg 10/1



// AX_RIGHTSCHECK(.T.) // CHANGED FOR ADS TESTING

// changed above for testing

// AX_ChooseOrdBagExt( 'CDX') //

RETURN

FUNCTION oDACSession(nNum)
IF nNum = 1
RETURN oDACSession1
ENDIF

RETURN oDACSession2

//
// EOF

RE: Advantage Database Server 12.0

(OP)
Hey Cliff,
I was able to get it to work finally.
Thanks for your help.
Josh

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close