AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Probleme mit Delphi, ADO und Oracle
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit Delphi, ADO und Oracle

Ein Thema von greenmile · begonnen am 30. Jan 2007 · letzter Beitrag vom 31. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#1

Probleme mit Delphi, ADO und Oracle

  Alt 30. Jan 2007, 14:01
Datenbank: Oracle • Version: 9i • Zugriff über: ADO
Wir setzen Delphi 5 Enterprise zusammen mit Oracle 9i Datenbankserver ein. Bisher kommunizierte unsere Software nur via ADO (2.8, alle Delphi Updates geladen) mit einem SQL-Server 2000, was problemlos funktioniere. Nun muß die Software mit Oracle 9i zusammenarbeiten. Wir verwenden persistente Felder. Das Problem ist, dass Delphi keine bool'schen Felder und keine Integer Felder von Oracle erkennt und diese stattdessen als TFloatField ausgibt. Diese Probleme haben wir nicht nur mit den ADO-Komponenten (TAdoTable), sondern auch mit anderen (z.B. SQL-Direct). Ich konnte leider nicht herausfinden, wieso Delphi den Datentyp "Boolean" bzw "Integer" nicht als solchen erkennt. Kennt hier jemand eine Lösung? Ich kann nicht so recht rausfinden, an wem es nun eigentlich liegt. An Delphi? An ADO? An Oracle? Oder einfach nur ein Konfigurationsproblem?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Probleme mit Delphi, ADO und Oracle

  Alt 30. Jan 2007, 14:10
Welchen OLE-DB Provider verwendest du?
Es gibt 2 davon:
Code:
Provider=msdaora        Hersteller=Microsoft
Provider=OraOLEDB.Oracle Hersteller=Oracle
Der OLE DB Provider von Oracle ist spürbar besser als der von Microsoft.
Jede Oracle Version hat auch
1.) die passende Oracle Client Software
2.) den passenden OLE-DB Provider
Nur wenn 1.) & 2.) auf dem Rechner installiert sind, sind die Vorraussetzungen für korrekte DB-Verbindung vorhanden.
Andreas
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Probleme mit Delphi, ADO und Oracle

  Alt 30. Jan 2007, 14:13
Wow das ging ja schnell Wir verwenden OraOLEDB.Oracle sowie den aktuellsten Client. Wie gesagt wird ja alles von Delphi erkannt, also TDateTimeField, Blob's, Strings. Nur halt Integer und Bool nicht.
  Mit Zitat antworten Zitat
Benutzerbild von rwachtel
rwachtel

Registriert seit: 26. Aug 2004
Ort: Köln
530 Beiträge
 
RAD-Studio 2010 Pro
 
#4

Re: Probleme mit Delphi, ADO und Oracle

  Alt 30. Jan 2007, 14:39
Oracle kennt weder Integer noch Boolean.

http://download-uk.oracle.com/docs/c...4/c13datyp.htm

Irgendwie habe ich gerade ein Deja-vu:

http://groups.google.com/group/de.co...65c17c8f1f915f

Robert Wachtel
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Probleme mit Delphi, ADO und Oracle

  Alt 30. Jan 2007, 14:41
Zitat von greenmile:
Wie gesagt wird ja alles von Delphi erkannt, also TDateTimeField, Blob's, Strings. Nur halt Integer und Bool nicht.
Sind das "echte" Integerfelder (mit 16 oder 32 Bit Speicherbedarf) oder sind das Ableger des NUMERIC-Datentyps?
Ich glaube Oracle bildet den Datentyp "INTEGER" auf NUMERIC(x,0) ab.
Und Delphi bildet Numeric-Felder auf TFloatField oder TBCDField ab.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von rwachtel
rwachtel

Registriert seit: 26. Aug 2004
Ort: Köln
530 Beiträge
 
RAD-Studio 2010 Pro
 
#6

Re: Probleme mit Delphi, ADO und Oracle

  Alt 30. Jan 2007, 14:45
Ebend. Interessant wäre auch eine Beantwortung der in der entsprechenden Newsgroup schon gestellten Frage (s.o.), wie denn das Boolean-Feld in die Oracle-Datenbank gekommen ist...
Robert Wachtel
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Probleme mit Delphi, ADO und Oracle

  Alt 30. Jan 2007, 15:18
Versuche natürlich überall, Hilfe zu bekommen

Bool'sche Felder (vom Oracle Migrationsassistenten) werden als NUMERIC (0,1) (oder war es 1,0?) abgebildet.
  Mit Zitat antworten Zitat
Benutzerbild von rwachtel
rwachtel

Registriert seit: 26. Aug 2004
Ort: Köln
530 Beiträge
 
RAD-Studio 2010 Pro
 
#8

Re: Probleme mit Delphi, ADO und Oracle

  Alt 30. Jan 2007, 15:23
Es war (1,0).

Dann hast Du ja die Antwort für das Verhalten. Woher soll Delphi denn wissen, ob NUMERIC (1,0) ein Boolean ist oder ein numerisches Feld der Länge 1?
Robert Wachtel
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Probleme mit Delphi, ADO und Oracle

  Alt 30. Jan 2007, 15:28
Boolean wird doch immer so ausgedrückt. Schon Delphi 1 konnte mit Oracle umgehen; ich kann mir nicht vorstellen, dass Oracle damals Bool'sche Werte anders ausgegeben hat als jetzt. Das ist der Punkt den ich nicht verstehe.

Nachtrag: Ich habe mal testhalber eine Tabelle von Oracle und eine vom SQL-Server in Access importiert. Vom SQL-Server import werden logische Felder als Ja/Nein Feld importiert, von Oracle kommen nur Zahlenfelder mit "Genauigkeit 1, Dezimalstellen 0". Ich denke mal, irgendwas läuft da im ADO, Oracle Client oder Oracle Server schief ...
  Mit Zitat antworten Zitat
Benutzerbild von rwachtel
rwachtel

Registriert seit: 26. Aug 2004
Ort: Köln
530 Beiträge
 
RAD-Studio 2010 Pro
 
#10

Re: Probleme mit Delphi, ADO und Oracle

  Alt 30. Jan 2007, 15:54
Nein, da läuft gar nichts schief. Das ist einfach per Definition so. Der SQL Server kann halt auch mit Bitfeldern umgehen, was Oracle nicht kann.

Aber wo ist denn das eigentliche Problem? Ich kann doch - wenn ich denn unbedingt mit Feldpersistenz arbeiten will - auch ein TBCDField z.B. an eine DBCheckbox binden.
Robert Wachtel
  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 14:38 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