Seite 1 von 1

Anfängerfrage zu ADS und ADT

Verfasst: Mi, 09. Jan 2008 11:18
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

Verfasst: Mi, 09. Jan 2008 14:28
von Wolfgang Ciriack
Hallo,
versuche doch mal ein

Code: Alles auswählen

#pragma library("ADAC20B.LIB") 
 
einzubauen. Vielleicht fkt. es dann ?

Verfasst: Mi, 09. Jan 2008 15:07
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.

Verfasst: Do, 10. Jan 2008 10:17
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

Verfasst: Do, 10. Jan 2008 10:35
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.