AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Merkwürdiges Problem: SQL Zugriff funktioniert nur übers WAN
Thema durchsuchen
Ansicht
Themen-Optionen

Merkwürdiges Problem: SQL Zugriff funktioniert nur übers WAN

Offene Frage von "emsländer"
Ein Thema von emsländer · begonnen am 21. Feb 2007 · letzter Beitrag vom 21. Feb 2007
Antwort Antwort
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#1

Merkwürdiges Problem: SQL Zugriff funktioniert nur übers WAN

  Alt 21. Feb 2007, 09:08
Datenbank: MSSQL • Version: 2005 SP2 • Zugriff über: ADO und direkt
Moin,

hab hier mal wieder ein nettes Problemchen. Der Zugriff übers WAN (DSL6000 via VPN) klappt.
Im LAN selbst wird der Datensatz nicht gefunden, als wenn dem Rechner da irgendwas zu schnell geht

Delphi-Quellcode:
function zeige_dokument_aus_sql(nummer, dokumentname, sAppDir : string) :integer;
  var _stmp : string;
   _query : Tsqlquery;
   erg64 : string;
   erg : string;
   fs : TFilestream;
begin
  result := 0;
  _query := TSQLquery.Create(nil);
     _query.sqlconnection := AktenManager.SQLConnection;
     try
      if fileexists(sAppDir+'\tmp.rtf') then deletefile(sAppDir+'\tmp.rtf');
      _stmp := 'select dokument from finanzdesk.dbo.vertragswerk where lfdnr ='+nummer;
      aktenmanager.edt_sql_userverwaltung.Text := _stmp;
      AktenManager.edt_sql_userverwaltung.Visible := aktenmanager.cb_sql_userverwaltung.Checked;
      _query.sql.Text := _stmp;

      _query.open; //=> bis hierhin klappts.

      erg64 := _query.FieldByName('dokument').Value;
      _query.close;
      erg := base64decode(erg64);
      fs := tfilestream.create(sAppDir+'\tmp.rtf', fmcreate);
      fs.Write(erg[1],Length(erg));
      fs.free;
      frm_unterlagentext.Caption :='AktenManager Textverarbeitung: '+dokumentname;
      frm_unterlagentext.edt_nummer.Text := nummer;
      frm_unterlagentext.Showmodal;
     except
      result := 99;
     end;
   freeandnil(_query);
end;

Dank im Voraus

Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Merkwürdiges Problem: SQL Zugriff funktioniert nur übers

  Alt 21. Feb 2007, 09:43
Hallo,

du solltest deine Funktion mal mit ein paar Fehlermeldungen ausstatten,
es kann hier ne Menge schiefgehen

- RTF-Datei kann nicht gelöscht werden
- RTF-Datei kann nicht erzeugt werden

Entweder du machst das mit Exceptions oder packts ne ErrorMsg String
Variable als var Parameter mit rein.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#3

Re: Merkwürdiges Problem: SQL Zugriff funktioniert nur übers

  Alt 21. Feb 2007, 10:15
Zitat von hoika:
Hallo,

du solltest deine Funktion mal mit ein paar Fehlermeldungen ausstatten,
es kann hier ne Menge schiefgehen

- RTF-Datei kann nicht gelöscht werden
- RTF-Datei kann nicht erzeugt werden

Entweder du machst das mit Exceptions oder packts ne ErrorMsg String
Variable als var Parameter mit rein.


Heiko
das Löschen und Erzeugen der tmp.rtf ist nicht das Problem. Diese Kommandos kanns auch komplett weglassen und vorher eine bereits bestehende tmp.rtf manuell löschen.

Ich hatte schon ein Debugginglog eingebaut, um die Zeile des Fehlers zu finden. Das ist der Code _query.open; - als ober der den Datensatz dort nicht findet.



Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
marabu

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

Re: Merkwürdiges Problem: SQL Zugriff funktioniert nur übers

  Alt 21. Feb 2007, 11:34
Hallo Emsländer,

wenn du nur mit einer einzigen Datenbank arbeitest, dann nimm die Qualifizierung des Tabellennamens besser raus:

 select dokument from vertragswerk where lfdnr = :lfdnr Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#5

Re: Merkwürdiges Problem: SQL Zugriff funktioniert nur übers

  Alt 21. Feb 2007, 12:33
Zitat von marabu:
Hallo Emsländer,

wenn du nur mit einer einzigen Datenbank arbeitest, dann nimm die Qualifizierung des Tabellennamens besser raus:

 select dokument from vertragswerk where lfdnr = :lfdnr Freundliche Grüße
Salve Marabu,

auch das hat es nicht gebracht.

Ich hab im Moment so ein Brett vorm Kopf, ich blick nix mehr.

Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
marabu

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

Re: Merkwürdiges Problem: SQL Zugriff funktioniert nur übers

  Alt 21. Feb 2007, 12:38
Nur nochmal zu meinem Verständnis: Du meldest dich mit demselben Benutzernamen an der Datenbank an, mal über einen VPN-Tunnel, mal direkt aus dem Netz, und dein SELECT findet den Datensatz und dann wieder nicht? Ich behaupte, dass du nicht auf dieselbe Tabelle zugreifst.

Nachdenkliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#7

Re: Merkwürdiges Problem: SQL Zugriff funktioniert nur übers

  Alt 21. Feb 2007, 12:45
Zitat von marabu:
Nur nochmal zu meinem Verständnis: Du meldest dich mit demselben Benutzernamen an der Datenbank an, mal über einen VPN-Tunnel, mal direkt aus dem Netz, und dein SELECT findet den Datensatz und dann wieder nicht? Ich behaupte, dass du nicht auf dieselbe Tabelle zugreifst.

Nachdenkliche Grüße
Hi Marabu,

der Username ist der selbe. Ist im Connectionstring festgelegt. Alle anderen Operationen funzen ja auch. Nur diese Abfrage ist betroffen, ein Update oder Insert klappt ja.




Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#8

Re: Merkwürdiges Problem: SQL Zugriff funktioniert nur übers

  Alt 21. Feb 2007, 16:20
Problem gelöst. Ich hatte für diese Abfrage nicht TADOQUERY, sonder TQUERY benutzt. Das funzt auf meiner Entwicklungsmaschine logischerweise problemlos.
Nur halt auf Rechnern ohne SQL-Client nicht.



Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  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 17:11 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