![]() |
Datenbank: ADS • Version: 8.1 • Zugriff über: Advantage TDataSet
ADS: Fehler bei ExecSQL
Hallo,
ich habe eine ADS-Datenbank (Advantage Database). Mit dem ARC habe ich eine neue Tabelle erzeugt und mir ein SQL-Script generieren lassen. Dieses SQL-Script soll mittels einem Delphi-Programm für ein Update der Datenbank bei Kunden ausgeführt werden. Dazu wird das SQL-Script in ein TAdsQuery geladen und mit ExecSQL ausgeführt. Bei der Ausführung kommt jedoch folgender Fehler: Error 7200: AQE Error: State = HY000; NativeError = 7041; [Extended Systems][Advantage SQL][ASA] Error 7041: File not found. Verify the specified path and file name is correct. ** Script error information: -- Location of error in the SQL statement is: 1' Das gleiche Script funktioniert jedoch im ARC einwandfrei.
SQL-Code:
CREATE TABLE PraemienKonto (
ID AutoInc, PersonalID Integer, Jahr Integer, Monat Integer, SollPraemie Double, IstPraemie Double, Datum Date); EXECUTE PROCEDURE sp_CreateIndex( 'PraemienKonto', 'PraemienKontoIDX.adi', 'PKANZEIGE', 'PersonalID;Jahr;Monat', '', 2, 512 );
Delphi-Quellcode:
Wer hat dazu einen Vorschlag ?
ADS.BeginTransaction;
(tQueryComp as TADSQuery).ExecSQL; (tQueryComp as TADSQuery).AdsCloseSQLStatement; ADS.Commit; Mike |
Re: ADS: Fehler bei ExecSQL
Hallo,
das Problem ist gelöst. Beim Kopieren der TAdsQuery-Komponenten ist die AdsConnection verschwunden. Mike |
Re: ADS: Fehler bei ExecSQL
Unabhängig davon hast Du ein kleines Design-Problem - die Indexdatei hat einen von der Tabelle abweichenden Namen und wird somit nicht automatisch geöffnet. Es wäre in dem Fall besser mit CREATE INDEX anstelle von sp_CreateIndex zu arbeiten oder den gleichen Basisnamen zu verwenden.
|
Re: ADS: Fehler bei ExecSQL
Zitat:
|
Re: ADS: Fehler bei ExecSQL
Zitat:
Mike |
Re: ADS: Fehler bei ExecSQL
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo nochmal,
während des Programmtests auf einem Test-PC kommt es noch zu folgendem Fehler: Error 7200: AQE Error: State = HY000; NativeError = 2198; [Extended Systems][Advantage SQL Engine] Error 2198: The stored procedure name is invalid. Das vollständige SQL-Script: siehe Anhang Das Programm und das SQL-Script im ARC funktionieren auf dem Entwicklungs-PC fehlerfrei. Auf allen PCs erfolgt die Benutzeranmeldung als Admin. Die Anmeldung an ADS erfolgt über das Programm. Kann es daran liegen, daß auf dem Entwicklungs-PC ein ADS-Server (2 User) installiert ist und auf den anderen PC "nur" Local Server ? Oder liegt das Problem wo anders ? Läßt sich evtl. ermitteln, welche "stored procedure" den Fehler erzeugt ? Mike |
Re: ADS: Fehler bei ExecSQL
Zum debuggen solltest Du jeden Befehl einzeln ablaufen lassen und nicht das ganze Script.
Ich vermute dass es sp_ModifyIndexProperty ist. Wahrscheinlich setzt Du ADS in Version 8 ein und hast auf dem Test PC eine lokale Variante einer älteren Version. Check mal Deine Dlls. |
Re: ADS: Fehler bei ExecSQL
Zitat:
Also, Danke nochmal. Mike |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz