AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO Sql.LoadFromFile ungültige Zeichen
Thema durchsuchen
Ansicht
Themen-Optionen

ADO Sql.LoadFromFile ungültige Zeichen

Ein Thema von Boppe · begonnen am 10. Aug 2007 · letzter Beitrag vom 10. Aug 2007
Antwort Antwort
Boppe

Registriert seit: 28. Feb 2007
Ort: München
39 Beiträge
 
Delphi 2007 Professional
 
#1

ADO Sql.LoadFromFile ungültige Zeichen

  Alt 10. Aug 2007, 12:27
Datenbank: MSSql • Version: 2005 • Zugriff über: ADO
Hallo Zusammen!
Ich habe versucht eines meiner Projekte von Delphi 7 auf Delphi 2007 zu portieren. Die ADO Queries laden die Sql Statements zur Laufzeit aus verschiedenen Textdateien.

Komischerweise bekomme ich nur Fragezeichen bzw ungültige Zeichen zurück.

Kann mir irgendjemand sagen woran das liegen könnte?

Delphi 2007 prof., Windows Vista, Textfile Codierung ansi
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: ADO Sql.LoadFromFile ungültige Zeichen

  Alt 10. Aug 2007, 13:40
Herzlich willkommen in der Delphi-PRAXiS, Boppe.

Wie hast du sicher gestellt, dass die Textdateien wirklich ANSI-kodiert sind? Stimmen tatsächliche und erwartete Größe überein? Kannst du ein Beispiel hier anhängen?

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Boppe

Registriert seit: 28. Feb 2007
Ort: München
39 Beiträge
 
Delphi 2007 Professional
 
#3

Re: ADO Sql.LoadFromFile ungültige Zeichen

  Alt 10. Aug 2007, 15:04
Hallo marabu!
besten Dank für die prompte Antwort.

Die Textdateien habe ich hatte ich unter UltraEdit als ANSI gespeichert - ergo gehe ich davon aus, dass das auch der Wahrheit entspricht

Anbei die Textdatei mit dem Statement. Nix weltbewegendes genau wie der Aufruf
Delphi-Quellcode:
....
QueryResetMessages:= TAdoQuery.Create(nil);
with QueryResetMessages do
begin
 Connection := DBSource;
 Sql.LoadFromFile(ExtractFilePath(Application.Exename)+'\SQL\MailGateway.MessageReset.SQL');
 try
    ExecSql;
 except
    on e: EADOError do
      raise e.Create(e.Message);
 end;
end;
....
Wenn ich mir vor dem open ShowMessage(Sql.Text); ausgeben lasse, erhalte ich nur Fragezeichen bzw. wenn ich den open ausführe die Fehlermeldung
Zitat:
Falsche Syntax in der Nähe von '0x2073'
. Bei CodeGear soll diesbezüglich in der QC irgendwo ein Bugreport stehen (http://qc.borland.com/qc/wc/qcmain.aspx?d=25811) ist allerdings nicht mehr auffindbar.
Angehängte Dateien
Dateityp: zip mailgateway.messagereset_175.zip (224 Bytes, 4x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: ADO Sql.LoadFromFile ungültige Zeichen

  Alt 10. Aug 2007, 15:17
Fehler in der VCL.

Das Proprety Sql ist als TWideStrings definiert, aber die Klasse TWideStringList kann nur Unicode-Textdateien mit einer festen Byteorder laden. Hat da keiner nachgedacht das hier alle Varianten (ANSI/UTF8/UCS2 mit beiden Byteorders nötig wäre)?

Nimm als Helfer eine TStringlist und lade dort die (ANSI)-Textdatei.

Ich denke da ist ein QC-Report angesagt...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: ADO Sql.LoadFromFile ungültige Zeichen

  Alt 10. Aug 2007, 15:22
Hallo,

die angehängte Datei ist einwandfrei ANSI-kodiert. Da ich nicht mit der neuen Delphi-Version arbeite, hoffe ich, dass ein anderes DP-Mitglied etwas zu dem von dir vermuteten Bug schreiben kann. Meine Vermutung ist, dass ANSI-Code eingelesen und als UTF-16 interpretiert wird, allerdings ist 0x2073 kein Bestandteil deiner angehängten Datei (Leerstelle gefolgt von lowercase s).

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

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: ADO Sql.LoadFromFile ungültige Zeichen

  Alt 10. Aug 2007, 15:26
QC-Report
Wenn ihr wollt könnt ihr ja Voten - Ist mein neuer nachdem der Orginal (25811) nicht mehr zu finden ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: ADO Sql.LoadFromFile ungültige Zeichen

  Alt 10. Aug 2007, 15:29
Hallo Bernhard,

müssten da nicht noch ältere Einträge sein? Der Fehler scheint mindestens ein Jahr älter zu sein, als der QC-Eintrag.

klick

Freundliche Grüße
  Mit Zitat antworten Zitat
Boppe

Registriert seit: 28. Feb 2007
Ort: München
39 Beiträge
 
Delphi 2007 Professional
 
#8

Re: ADO Sql.LoadFromFile ungültige Zeichen

  Alt 10. Aug 2007, 15:52
Hallo Bernhard!
Vielen Dank für die schnelle Antwort und das Ticket.

Da scheint wirklich irgendjemand gepennt zu haben.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: ADO Sql.LoadFromFile ungültige Zeichen

  Alt 10. Aug 2007, 16:02
Zitat von Boppe:
Da scheint wirklich irgendjemand gepennt zu haben.
Hätten Sie die TNTWare-Kompos gekauft (und würden sie auch verstärkt in der VCL einsetzen) wäre/würde uns mancher offensichtlicher Fehler/Mangel erspart bleiben.
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 11:55 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