AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADS: Fehler bei ExecSQL
Thema durchsuchen
Ansicht
Themen-Optionen

ADS: Fehler bei ExecSQL

Ein Thema von Mike_on_Tour · begonnen am 20. Sep 2007 · letzter Beitrag vom 26. Sep 2007
Antwort Antwort
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

ADS: Fehler bei ExecSQL

  Alt 20. Sep 2007, 17:44
Datenbank: ADS • Version: 8.1 • Zugriff über: Advantage TDataSet
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:
ADS.BeginTransaction;
(tQueryComp as TADSQuery).ExecSQL;
(tQueryComp as TADSQuery).AdsCloseSQLStatement;
ADS.Commit;
Wer hat dazu einen Vorschlag ?

Mike
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: ADS: Fehler bei ExecSQL

  Alt 20. Sep 2007, 17:56
Hallo,

das Problem ist gelöst. Beim Kopieren der TAdsQuery-Komponenten ist die AdsConnection verschwunden.

Mike
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: ADS: Fehler bei ExecSQL

  Alt 20. Sep 2007, 18:55
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.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
679 Beiträge
 
Delphi 12 Athens
 
#4

Re: ADS: Fehler bei ExecSQL

  Alt 21. Sep 2007, 15:04
Zitat von Union:
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.
order den Index-Dateinamen weglassen, dann wird er automatisch gewählt.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: ADS: Fehler bei ExecSQL

  Alt 26. Sep 2007, 09:56
Zitat von Union:
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.
Danke für den Hinweis. Wie schon geschrieben, wird das SQL-Script aber mit dem ARC erstellt und in einem Delphi-Programm ausgeführt. Das soll auch erst mal so bleiben.

Mike
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: ADS: Fehler bei ExecSQL

  Alt 26. Sep 2007, 11:15
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
Angehängte Dateien
Dateityp: txt update37_560.txt (2,6 KB, 4x aufgerufen)
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: ADS: Fehler bei ExecSQL

  Alt 26. Sep 2007, 13:10
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.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: ADS: Fehler bei ExecSQL

  Alt 26. Sep 2007, 13:54
Zitat von Union:
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.
Besten Dank für den Tip mit dem Prüfen der ADS-Version. Auf dem Test-PC ist tatsächlich noch eine Version 8.0 installiert, während auf dem Entwicklungs-PC schon die Version 8.1 läuft. Da hätte ich noch lange gesucht. Nach dem Aktualisieren der ADS-DLLs lief das Programm bis zum Ende fehlerfrei durch.
Also, Danke nochmal.

Mike
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz