AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Merkwürdiges ADO-Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Merkwürdiges ADO-Problem

Offene Frage von "Ulrich Berger"
Ein Thema von Ulrich Berger · begonnen am 19. Sep 2006 · letzter Beitrag vom 19. Sep 2006
Antwort Antwort
Ulrich Berger

Registriert seit: 19. Jan 2004
Ort: Herten
29 Beiträge
 
Delphi 2007 Enterprise
 
#1

Merkwürdiges ADO-Problem

  Alt 19. Sep 2006, 11:39
Datenbank: MS SQL-Server • Version: 7 • Zugriff über: ADO
Hallo allerseits,

habe hier ein merkwürdiges Problem:

Bei mehreren hundert Kunden läuft unser Programm einwandfrei, bei einem allerdings kommt es zu einem merkwürdigen Fehler.

Es wird versucht, Daten von einer lokalen Access-DB auf unseren MS-SQL-Server zu schieben. Hier der Ausschnitt aus dem Quellcode dazu:

Delphi-Quellcode:
procedure TDMBewegDaten.PEineLeistungUebertragen
  (const EineADOQuery: TADOQuery);
begin

  with cmdLeistungAnlegen do begin

    with Parameters do begin
      ParamByName('auf_id').Value :=
        EineADOQuery.FieldByName('AUF_ID').AsString;
      ParamByName('verz_id').Value :=
        EineADOQuery.FieldByName('VERZ_ID').AsString;
      ParamByName('pos_id').Value :=
        EineADOQuery.FieldByName('POS_ID').AsString;
      ParamByName('menge').Value :=
        EineADOQuery.FieldByName('MENGE').AsCurrency;
      ParamByName('me').Value :=
        EineADOQuery.FieldByName('ME').AsString;
      ParamByName('e_preis').Value :=
        EineADOQuery.FieldByName('E_PREIS').AsCurrency;
      ParamByName('kurztext').Value :=
        EineADOQuery.FieldByName('E_KU_BESCHR').AsString;
      ParamByName('formel_notiz').Value :=
        EineADOQuery.FieldByName('NOT_FORM').AsString;
    end;

    Execute;

  end;
end;
Dreh- und Angelpunkt scheint diese Codezeile zu sein:

Delphi-Quellcode:
      ParamByName('formel_notiz').Value :=
        EineADOQuery.FieldByName('NOT_FORM').AsString;
Hier wird der Eintrag eines Access-Memofeldes in ein Datenfeld des SQL-Servers vom Typ text übertragen. Zu einem Fehler ("Ungültiger Zeichenwert für Konvertierungsangabe") kommt es, wenn dieses Memofeld leer ist. Sobald dort etwas steht, gibt es kein Problem.

Wie gesagt, dieses Phänomen tritt nur bei diesem einen Rechner auf, bei allen anderen nicht.

Noch ein paar Infos:

Entwickelt wurde das Programm mit Delphi 5 incl. aller Updates.
Unser SQL-Server: MS Sql-Server 7, läuft unter Win 2000 Server
Kundenrechner: Windows XP Pro mit Servicepack 2, alle Updates, MDAC 2.8 Serviecepack 1, also meines Erachtens auch absolut aktuell.

Die Verbindung des Kundenrechners zu unserem Server läuft über eine normale TCI/IP-Verbindung

Uns ist dieses Verhalten momentan ein Rätsel... Kann sich irgendwer einen Reim darauf machen?

Grüße Uli

Edit: Tippfehler korrigiert
  Mit Zitat antworten Zitat
Benutzerbild von Catbytes
Catbytes

Registriert seit: 7. Sep 2002
Ort: Heckendalheim
353 Beiträge
 
Delphi XE5 Enterprise
 
#2

Re: Merkwürdiges ADO-Problem

  Alt 19. Sep 2006, 11:47
Hallo,

ich hatte mal ein ähnliches Problem (auf einem Rechner wurde ein Text-Feld immer als Memo angesprochen).

Aus neugier habe ich dann mal auf diesem Rechner Delphi installiert und das Programm vor-Ort kompiliert - dann lief es.

Ist zwar nur an den Krankheiten rumdoktoren anstatt die Ursache zu finden, aber es läuft seitdem und das war mir damals wichtig, weil es schnell gehen mußte.
Catbytes
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Merkwürdiges ADO-Problem

  Alt 19. Sep 2006, 11:49
Überprüfe doch vorher ob das Quellfeld nicht leer ist.
Markus Kinzler
  Mit Zitat antworten Zitat
Ulrich Berger

Registriert seit: 19. Jan 2004
Ort: Herten
29 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Merkwürdiges ADO-Problem

  Alt 19. Sep 2006, 12:08
Hallo mkinzler,

natürlich kann man das machen und vorher überprüfen ob dieses Feld leer ist.

Aber wie gesagt, das Ding ist ja mittlerweile bei mehreren hundert Kunden in Betrieb und dort gibt es keine Probleme... da wüßte man schon ganz gern, wieso es bei diesem Einen nun gerade nicht klappt...

Ein paar zusätzliche Infos, die ich bei meinem ersten Post vergessen hab zu erwähnen:

Wir haben den Kundenrechner momentan hier in der Firma (ist ein Laptop), auch hier in unserem Firmennetz gibt es die beschriebenen Probleme. Kopiert man die Access-Datenbank auf einen anderen Rechner im Netz und versucht das Versenden der Daten von dort (natürlich mit der gleichen Programmfunktion), klappt's ohne Probleme.

Grüße Uli
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Merkwürdiges ADO-Problem

  Alt 19. Sep 2006, 12:10
100%ig gleiche MDAC-Version (Evtl. nochmal drüber installieren)?
Gleiche JET-Version (ist ja nicht mehr bei MDAC dabei)?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Merkwürdiges ADO-Problem

  Alt 19. Sep 2006, 14:02
Moin Uli,

für solche Prüfungen (MDAC) gab es von MS mal den Component Checker (CC).
Vielleicht kann der weiterhelfen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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 04:14 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