AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi in sql-statement wird <<???>> eingefügt - warum/Ursache?
Thema durchsuchen
Ansicht
Themen-Optionen

in sql-statement wird <<???>> eingefügt - warum/Ursache?

Ein Thema von Susanne · begonnen am 2. Aug 2006 · letzter Beitrag vom 3. Aug 2006
Antwort Antwort
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#1

in sql-statement wird <<???>> eingefügt - warum/

  Alt 2. Aug 2006, 15:43
Datenbank: Navision / Access • Zugriff über: ADO
Hi,

beim Kunden gibt es eine Navision-DB auf die ich mit meinem Programm zugreifen will. Gut, zum Testen der ganzen sql-statements habe ich auf meinem Rechner Access benutzt.

Wir haben dann einen ConnectionString zusammengebastelt für Navision und mit dem AdoQuery-Tool kann man ja auch testen, ob mit diesem String erfolgreich auf die DB zugegriffen werden kann. Dieser Test sagt erfolgreich.

Nun soll er ein SQL-statement absetzen. Das ganze sieht bei mir dann so aus:

Delphi-Quellcode:

Form2.AdoQuery1.Active:= false;
Form2.AdoQuery1.SQL.Clear;
//Suchbegriff enthält Leerzeichen deshalb in Klammern
sql1:='Select * from '+AdoTab1+' where ['+Suchbegriff1+'] ='''+FieldValue+'''';
Form2.AdoQuery1.SQL.Add(sql1);
try
  Form2.AdoQuery1.Active:= true;
except
  on E:Exception do
     Showmessage(e.message);

end;
Wenn ich dies nun mit meinem Access durchlaufen lasse, benutzt er das SQL-statment korrekt, "SELECT * FROM 25 WHERE [Barcode Value] = '123'", lassen wir dies aber mit der Navision-DB laufen macht er aus dem korrekten Statement das: "SELECT * FROM 25 <<???>> WHERE [Barcode Value] = '123'". Gut, damit wüsste ich als DB vielleicht auch nichts mit anzufangen.

Die Frage nun, warum fügt er das ein -> <<???>> ein? Irgendjemand eine Idee, wo ich noch suchen könnte? Für jeden Tip dankbar.

Ich hab dann auch nur mal ein AdoConnection eingefügt und getestet ob open klappt, das macht er einwandfrei, also kann er auf die DB wohl zugreifen und sich mit ihr verbinden.
Susanne
  Mit Zitat antworten Zitat
KrasserChecker

Registriert seit: 21. Jul 2004
120 Beiträge
 
#2

Re: in sql-statement wird <<???>> eingefügt - wa

  Alt 2. Aug 2006, 16:01
Sieht aus, als würde die Datenbank dir so mitteilen wollen, was genau ihr am dem Statement nicht passt.
Die Zeichen <<???>> könnten zum Beispiel bedeuten, das die Tabelle 25 nicht existiert, Du nicht darauf zugreifen kannst, Tabellennamen bei Navision anders angegeben werden müssen, etc...
  Mit Zitat antworten Zitat
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#3

Re: in sql-statement wird <<???>> eingefügt - wa

  Alt 2. Aug 2006, 16:12
Das habe ich mir auch gedacht und den Name für die Tabelle mal genommen, wobei mir vorher gesagt wurde, dass ich die Tabellen über die Nummern ansprechen müsste, die Fehlermeldung hat sich auch ein klein wenig verändert:

"SELECT * FROM <<???>> [Vendor Tabelle] WHERE [Barcode Value] = '123'"

Aber wirklich geholfen hat mir das nun auch nicht, <<???>> ist jetzt eins weiter vorne.
Susanne
  Mit Zitat antworten Zitat
KrasserChecker

Registriert seit: 21. Jul 2004
120 Beiträge
 
#4

Re: in sql-statement wird <<???>> eingefügt - wa

  Alt 2. Aug 2006, 16:18
Gibt es Tabellen, die nur ein Wort als Namen haben (z.B. "Vendor")? Probier doch mal aus, ob das Select auf solchen Tabellen geht. Meine mich erinnern zu können, dass es da Probleme mit Tabellennamen, die aus mehreren Wörter bestehen, gibt...
  Mit Zitat antworten Zitat
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#5

Re: in sql-statement wird <<???>> eingefügt - wa

  Alt 2. Aug 2006, 16:59
stimmt, wenn der TabellenName nur aus einem Wort besteht, hat er ein Problem.

Aber wie bring ich ihm nun bei, dass er auch diesen NAmen aktzeptiert, mit eckigen Klammern schon mal nicht, das hatte ich ja schon, in Hochkommata auch nicht.
Susanne
  Mit Zitat antworten Zitat
marabu

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

Re: in sql-statement wird <<???>> eingefügt - wa

  Alt 2. Aug 2006, 18:23
Hallo Susanne,

Zitat von Susanne:
Wenn ich dies nun mit meinem Access durchlaufen lasse, ... , lassen wir dies aber mit der Navision-DB laufen macht er aus dem korrekten Statement
das lässt sich so verstehen, dass du mal Access als client verwendest und mal einen Navision client. Für Access und andere MS SQL clients sind die eckigen Klammern dokumentiert. Navision wurde zwar von MS übernommen, aber schlauer bist du nach einem Blick in den Navision SQL Statement Reference Guide. Dein Kunde sollte dir das auf Zuruf sagen können.

Falls bei einem simplen Tabellennamen die eckigen Klammern akzeptiert werden, dann kann es sein, dass du den exotischen Namen nur qualifizieren musst: [dbo].[Vendor Tabelle]

Der Name ist aber auch in jeder Hinsicht exotisch - das enthaltene Blank und nicht zuletzt der Denglisch-Mix ...

Grüße vom marabu

PS: Ist Navision beim Kunden auf MSSQL Server aufgesetzt?
  Mit Zitat antworten Zitat
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#7

Re: in sql-statement wird <<???>> eingefügt - wa

  Alt 3. Aug 2006, 10:35
blöde Frage, aber wofür steht das dbo?
Susanne
  Mit Zitat antworten Zitat
marabu

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

Re: in sql-statement wird <<???>> eingefügt - wa

  Alt 3. Aug 2006, 10:37
dbo = database owner - ein terminus technicus bei MSSQL. Über den Aufbau von qualifizierten Namen findest du was in der Dokumentation zum MSSQL Server.

marabu
  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 08:19 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