AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."
Thema durchsuchen
Ansicht
Themen-Optionen

zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."

Ein Thema von grl · begonnen am 14. Feb 2018 · letzter Beitrag vom 16. Feb 2018
Antwort Antwort
Seite 1 von 2  1 2      
grl

Registriert seit: 5. Feb 2007
174 Beiträge
 
FreePascal / Lazarus
 
#1

zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."

  Alt 14. Feb 2018, 10:50
Datenbank: VFP • Version: 9 • Zugriff über: zeos
Tag!
Ich versuche gerade mit Zeos über ado/oledb auf eine Visual FoxPro-Tabelle zuzugreifen.
Die Tabelle "Testtable" ist definiert als:
Code:
rc_nr numeric 10
text1 char 100
text2 char 100
text3 char 100
text4 char 100
sel numeric 1
Ich verwende eine TZConnection mit protocol ado und eine TZReadOnlyQuery. Die Query dazu ist:
Code:
SELECT rc_nr,text1,text2,text3,text4,sel FROM Testtable WHERE rc_nr=:rc_nr
Ich aktiviere die TZConnection, setze
Code:
sql.ParamByName('rc_nr').AsInteger:=5;
und versuche mit sql.Open die Query zu öffnen.
Dann bekomme ich leider die Fehlermeldung: "Ein Objekt, das dem angeforderten Namen oder dem Ordinalverweis entspricht, kann nicht gefunden werden"

Ändere ich die Query wie folgt:
Code:
SELECT rc_nr,text1,text2,text3,text4,sel FROM Testtable WHERE rc_nr=5
funktioniert alles wie gewünscht.

Jemand einen Tip wo ich da falsch abgebogen bin? Oder muss mit Zeos und/oder VFPOLEDB der Syntax für Parameter anders heissen?

Danke
Luggi
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."

  Alt 14. Feb 2018, 16:10
Hallo,

kann es sein, dass Du den Parameter erst in der Eigenschaft "Params" (o. ä.) Deiner Abfrage definieren musst?

Gruß
Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat
grl

Registriert seit: 5. Feb 2007
174 Beiträge
 
FreePascal / Lazarus
 
#3

AW: zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."

  Alt 14. Feb 2018, 16:30
Habe ich auch versucht - macht aber keinen Unterschied

Gruß
Luggi
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.073 Beiträge
 
Delphi 12 Athens
 
#4

AW: zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."

  Alt 14. Feb 2018, 16:38
kann es sein, dass Du den Parameter erst in der Eigenschaft "Params" (o. ä.) Deiner Abfrage definieren musst?
Dann hätte doch schon ParamByName('rc_nr') fehlschlagen müssen, wenn die Query diesen Parameter nicht automatisch erstellt hätte.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
EgonHugeist

Registriert seit: 17. Sep 2011
187 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."

  Alt 14. Feb 2018, 16:56
Kann denn die FoxFro DB üverhaupt mit Parametern arbeiten? Was sagen die Docs?

EDIT: Ich mein es gibt so'n paar auserirdische Dbs, welche nur mit "Inline"(Param replace by val) SQL können..

Geändert von EgonHugeist (14. Feb 2018 um 16:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."

  Alt 14. Feb 2018, 18:02
Unter Umständen mußt Du da Klammern.
Code:
and (wert=:para)
Aber eigentlich sollte ADO damit umgehen können.

Ansonsten schau mal nach dem ADO-Monitor der sollte Dir sagen können was an die DB(?) geschickt wird.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
hoika

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

AW: zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."

  Alt 15. Feb 2018, 09:10
Hallo,
was passiert, wenn Du vor dem ParamByName mal ein Prepare machst?
Heiko
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."

  Alt 15. Feb 2018, 09:28
"numeric 10"
ist mglw eine zu große oder nicht gut implementierte Genauigkeit.

Ich würde einfach mal die Abfrage ändern und einen der Textparameter in der where clause prüfen.
Ggf. den Datentyp probehalber auf Float bzw. das entsprechende Foxpro Pendant setzen
oder schlicht auf Integer.
(Welcher Typ steht original in der TableCreate Anweisung?)
Prüfen, ob der angegebene Typ ein nativer Foxpro Typ ist und ggF. die Deklaration anpassen zu einem nativen.
Die Genauigkeit von 10 auf 4 setzen.

Der Fehler scheint ja eigentlich auszusagen, dass ein unbekanntes Feld /Funktion abgefragt wird. Das könnte wie vermutet eben an Typproblemen liegen.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

AW: zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."

  Alt 15. Feb 2018, 15:43
Auch wenn ich wieder gesteinigt werde:

Wieso noch so ein veraltetes und abgekündigtes DBMS-System wie FoxPro?
Kann man die DB nicht in einem Rutsch auf ein neues DBMS-Format konvertieren und damit arbeiten?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
grl

Registriert seit: 5. Feb 2007
174 Beiträge
 
FreePascal / Lazarus
 
#10

AW: zeos, foxpro, fehlermeldung: "Ein Objekt, das dem angeforderten Namen..."

  Alt 15. Feb 2018, 18:45
Kann denn die FoxFro DB üverhaupt mit Parametern arbeiten? Was sagen die Docs?
Mir war nicht bewusst, daß die Parameter eine Frage der DB sind - ich dachte, daß das der Zugriffs-Layer (in meinem Fall Zeos) erledigt.
So wie's aussieht kann VFPOLEDB keine Parameter.

Unter Umständen mußt Du da Klammern.
Code:
and (wert=:para)
Aber eigentlich sollte ADO damit umgehen können.
Ansonsten schau mal nach dem ADO-Monitor der sollte Dir sagen können was an die DB(?) geschickt wird.
Gibts einen ADO-Monitor, der mit ZEOS geht? Der ZEOS Monitor zeigt leider nur die Query mit den Parametern - nicht was er wirklich an den OLE-Treiber übergibt.

was passiert, wenn Du vor dem ParamByName mal ein Prepare machst?
gleiches Problem...

"numeric 10"
ist mglw eine zu große oder nicht gut implementierte Genauigkeit.
Die aber nicht von mir stammt. Die Tabellen sind wie sie sind - ich muss sie so nehmen.

Ich würde einfach mal die Abfrage ändern und einen der Textparameter in der where clause prüfen.
Auch versucht, gleiches Problem.

Auch wenn ich wieder gesteinigt werde:
Wieso noch so ein veraltetes und abgekündigtes DBMS-System wie FoxPro?
Kann man die DB nicht in einem Rutsch auf ein neues DBMS-Format konvertieren und damit arbeiten?
Ich möchte ja keinen Stein werfen
Aber schon mal dran gedacht, daß es Situationen gibt in denen man nehmen muss was da ist und nicht anders kann?
Ich muss hier Daten aus einem bestehenden System auslesen ohne die Kompatibiltät zu diesem System zu gefährden. Daher VFPOLEDB und nicht tDBF oder sowas und schon gar nicht portieren auf eine andere DB.
Dazu kommt, daß der Aufwand in Grenzen bleiben soll, weil das wahrscheinlich keine Lösung für die Ewigkeit sein wird...

Danke an alle für's mitdenken und antworten - aber ich fürchte EgonHugeist hat recht und das Problem liegt in VFPOLEDB, das keine Paramter kann.

Ich werde also einen Wrapper schreiben in dem ich die Parameter einfach selber im SQL-String austausche... Da ich nur wenige Datentypen brauche ist das wahrscheinlich die eleganteste Lösung...

Gruß
Luggi
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:44 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