Einzelnen Beitrag anzeigen

Ulrich Berger

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

Merkwürdiges ADO-Problem

  Alt 19. Sep 2006, 10: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