Anfängerfrage zu ADS und ADT

Advantage Database Server

Moderator: Moderatoren

Antworten
pedu
Rookie
Rookie
Beiträge: 2
Registriert: Mi, 09. Jan 2008 11:07

Anfängerfrage zu ADS und ADT

Beitrag von pedu »

Hallo,

ich bin XBase-Anfänger (aber mit etwas Clippererfahrungen) und möchte mich etwas in die neue Materie einarbeiten und möchte dazu auf einem Server mit ADS 8.1 eine ADT-Datei öffnen. Leider funktioniert schon das mit der Alaska ADS DatabaseEngine 1.90 mitgelieferte Beispiel bei mir nicht (XBASE 1.90):

Code: Alles auswählen

PROCEDURE DbeSys
    IF ! DbeLoad( "ADSDBE" )
       Alert( "Unable to load ADSDBE", {"Ok"} )
    ENDIF
    DbeSetDefault( "ADSDBE" )
 RETURN

PROCEDURE Main
   LOCAL cConnect := "DBE=ADSDBE;SERVER=\\LUNA\VOL1"
   LOCAL oSession := DacSession():New( cConnect )
    IF .NOT. oSession:isConnected()
       Alert( "Unable to establish connection to ADS", {"Quit"} )
       QUIT
    ENDIF
    SET DEFAULT TO "\\LUNA\VOL1"
    USE CUSTUMER EXCLUSIVE
    INDEX ON Upper( LastName+FirstName ) TAG Name TO Cust
    USE CUSTUMER SHARED INDEX Cust
    Browse()
    oSession:disconnect()
RETURN
"Error: ALK2102: unresolved external symbol DACSESSION"



Kann mir jemdand sagen, woran es liegt bzw. ein geeignetes Beispiel zum einfachen Öffnen einer ADT-Datei via ADS zeigen?
Ich würde mich sehr freuen - vielen Dank.

Peter
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Beitrag von Wolfgang Ciriack »

Hallo,
versuche doch mal ein

Code: Alles auswählen

#pragma library("ADAC20B.LIB") 
 
einzubauen. Vielleicht fkt. es dann ?
Viele Grüße
Wolfgang
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

ich habe in deiner Message mal den Quellcode mit einem CODE Tag versehen: zuerst eingeben, dann alles markieren und die Schaltfläche

Code: Alles auswählen

 anklicken. So kann man es besser lesen ;-)


Die - wahrscheinlich - richtige Lösung wurde schon erwähnt.
Immer wenn eine solche MISSING ... Nachricht kommt, wurde wahrscheinlich eine *.CH Datei vergessen oder aber eine fremde DLL Runtimedatei nicht mit angegeben. Z.B. bei den XBTools steht ganz vorne unter Compilieren und Linken die nötigen Einträge in die Projektdatei, wobei man das neuerdings auch mit Pragmas erledigen kann. In beiden Fällen muß man dann aber die PBUILD /G aufrufen um die Änderungen überprüfen zu lassen (der fügt dann die OBJ Verweise etc. ein). 

Wenn man VX benutzt, muss man solche Zusatzbibliotheken im Projekt defieren (wo genau weiß ich nicht) oder als pragma angeben. Nur die rudimentären Runtime DLL von Xbase++ selbst bindet alink selbst ein.
Gruß
Hubert
pedu
Rookie
Rookie
Beiträge: 2
Registriert: Mi, 09. Jan 2008 11:07

Beitrag von pedu »

Hallo -

ich danke für die schnelle Hilfe und auch die Hinweise zur Nutzung der Forensoftware.
Der Tipp war schon mal goldrichtig, denn das Programm wird nun compiliert und startet.
Allerdings kommt dann für die Zeile mit USE Customer:
Error 5004: Either ACE could not find the specified file, or you do not have sufficient rights to access the file.
Ich habe jedoch alle Zugriffsrechte, z. Bsp. kann ich mit dem Advantage Data Architect die Datei(en) problemlos öffnen. Auch die Pfadangaben sind korrekt.

Warum läßt sich die ADT-Datei dennoch nicht öffnen? Fehlt vielleicht noch etwas anderes?

Vielen Dank, Peter
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

ich kenne mich mit dem ADS nicht aus, aber bei einem SQL Server müsste noch der USER Name und das Kennwort angegeben werden.

Wenn beides fehlt, mangelt es einem an den Zugriffsrechten, das würde also zur Fehlermeldung passen.
Gruß
Hubert
Antworten