Wie der Zugriff auf Datenbanken von Delphi XE Professional IDE?
Kann ich nicht den Zugriff auf JEDE Datenbank mit JEDEM Mittel aus der Delphi XE Professional. Was ich meine, durch den Zugriff auf die Datenbank ist:
- mit der live-Datenbank angezeigt, über
Komponenten im Objekt-Inspektor,
wenn die Eigenschaft "connected" eingestellt ist
true - mit dem Daten-Explorer zu erstellen
und erkunden Datenbank-verbindungen
EDIT:
SORTIERT !!
Den Kern des Problems ist, dass die Kommunikation in der Datenbank, speziell auch die Kommunikation erzeugt, die von der IDE und code, erstellt mit dem Treiber war problematisch.
Confounding und Maskierung sub-Themen waren:
- Fehlende oder falsch platzierte DLLs.
- Der Daten-Explorer bietet keine volle Unterstützung für dbExpress-Treiber.
- Es ist ein Fehler in der 2009-IDE-code gefunden, indem Chee-Yang-Chau beim schreiben der dbxFirebird Fahrer, die Grenzen der statischen Verlinkung der Treiber in Delphi. Es ist nicht bekannt, ob dieser Fehler erstreckt sich auch auf 2010 oder XE.
- Wenn mit dem Objekt-Inspector, es ist einfach zu bewirken, dass die IDE zurückzukehren, die geänderten Parameter auf Ihre default-Werte.
- Einige Fahrer hatte falsche default-Werte (z.B. unter der Annahme der client-dll war immer gdb32.dll unabhängig davon, ob die Datenbank Interbase oder Firebird).
- Installation von zwei Versionen von Interbase führte zu einigen Auseinandersetzungen in der Datenbank communication - server-Namen generiert, die durch die Werkzeuge waren seltsam; und die Ansicht der Datenbanken, die hing auf die installation des Interbase-tools verwendet wurden.
- Die Dokumentation ist von unterschiedlichen Termine; bezieht sich auf verschiedene Versionen, und als Ergebnis erscheint oft widersprüchlich.
ENDE EDIT:
Ansätze versucht:
- Mehrere Datenbanken
- Mehrere verschiedene Treiber/Komponenten
- Zugriff auf die Datenbank durch andere externe tools, wie IBSQL und Flamme Robin.
- Das aufwerfen von Fragen (hier und hier).
- Das aufwerfen von Fragen, auf die support-Foren für Firebird, Embarcardo und Flamme Robin.
Umgebung:
- OS: Windows 7 Ultimate 64bit:
- Delphi Embarcadero® RAD Studio XE Professional-Version 15.0.3953.35171
- Datenbank: W1-V2.5.0.26074 Firebird 2.5 (64 bit)
- Anschlusstechnik: dbExpress
Sie nicht brauchen, enterprise-oder architect-oder was immer es genannt wird?
Ich habe es schon mal gesagt, aber warum nicht Sie kaufen die Red Lizard Treiber? Die Zeit, die Sie damit verbracht haben, auf diese bereits haben muss, überwiegen die Kosten um ein Vielfaches.
Sie haben tu 32 bit fbclient.dll da die Delphi-IDE ist 32 Bit (je 32-bit-Anwendung, die Sie haben, tu verwenden fbclient.dll 32-bit-auch wenn server 64 bit)
Ich weiß, Sie wollen nicht mehr Geld ausgeben, aber die Schnellste Strecke über die Ziellinie ist zu zahlen für ein upgrade auf Enterprise oder Architekt. Ansonsten, manche Leute SIND mit Delphi XE Pro mit Interbase und Firebird, die über DbGo (ADO).
Soweit die Enterprise-oder Architect-Versionen betroffen sind, ist es nicht so, dass ich nicht wollen, verbringen mehr Geld - ich kann es sich leisten, auch mit den aktuellen angeboten ein upgrade herum. Ich werde den Kauf der Red Lizard-Treiber, wenn meine aktuellen Untersuchung Pfannen aus - die sieht sehr vielversprechend aus.
Ich habe es schon mal gesagt, aber warum nicht Sie kaufen die Red Lizard Treiber? Die Zeit, die Sie damit verbracht haben, auf diese bereits haben muss, überwiegen die Kosten um ein Vielfaches.
Sie haben tu 32 bit fbclient.dll da die Delphi-IDE ist 32 Bit (je 32-bit-Anwendung, die Sie haben, tu verwenden fbclient.dll 32-bit-auch wenn server 64 bit)
Ich weiß, Sie wollen nicht mehr Geld ausgeben, aber die Schnellste Strecke über die Ziellinie ist zu zahlen für ein upgrade auf Enterprise oder Architekt. Ansonsten, manche Leute SIND mit Delphi XE Pro mit Interbase und Firebird, die über DbGo (ADO).
Soweit die Enterprise-oder Architect-Versionen betroffen sind, ist es nicht so, dass ich nicht wollen, verbringen mehr Geld - ich kann es sich leisten, auch mit den aktuellen angeboten ein upgrade herum. Ich werde den Kauf der Red Lizard-Treiber, wenn meine aktuellen Untersuchung Pfannen aus - die sieht sehr vielversprechend aus.
InformationsquelleAutor Chris Walton | 2011-04-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Delphi Professional nicht unterstützt Firebird mit der einheimischen dbExpress-Treiber, die kommen mit Delphi. Benötigen Sie die Enterprise-oder Architect-version von Delphi, um für die native firebird dbExpress-Treiber, um zu arbeiten.
Ich habe Delphi 2010 Professional. Ich wollte nicht verbringen das zusätzliche Geld auf der E-oder A-version und ich Fehler beim Lesen der feature-matrix zu sehen, dass der Firebird-dbExpress-Treiber ist nicht mit der Pro-version.
Ich habe ein paar wirklich nette videos, die zeigen, wie eine Verbindung zu Firebird mit Delphi. Allerdings, wenn ich versuchte zu Folgen zusammen mit meinem Professonal-version nichts funktionierte.
Schande über mich und noch mehr Schande über Embarcadero für wirbt, die Delphi unterstützt Firebird in großen Fett drucken, aber nicht erwähnen, dass Sie müssen die Enterprise-oder Architect-version, außer in der winzigen Kleingedruckten.
InformationsquelleAutor Michael Riley - AKA Gunny
Kann ich jetzt Schreibe code für den Zugriff auf Firebird innerhalb der IDE. Ich habe (begrenzt, aber ausreichend) den Zugriff auf die Treiber innerhalb der IDE. Insbesondere die Treiber angezeigt, die im Daten-Explorer, die verwendet werden können zum generieren von default-Werte für die SQLConnection (dbExpress-Komponente). Diese zugegriffen und genutzt werden kann im Objekt-Inspektor. Die Lösung für das IDE-bug unten zitiert, ist sicherzustellen, dass die Kommunikations-Parameter korrekt sind. Beim schreiben der Datenbank-code, ist es notwendig, zu kompilieren, die in der Quelle für die dbExpress-Treiber.
Folgende code ist die minimale, mit minimalen Parametersatz notwendig zu etablieren und test einer Datenbank-Verbindung:
Den workaround mit freundlicher Genehmigung von Bob Swart auf einem der Codegear-Foren ist:
InformationsquelleAutor Chris Walton
BOUNTY AWARD
Ich erhielt das Kopfgeld auf diese Antwort, da er derjenige war, der zeigte mir den Weg von der Untersuchung der IDE, deren installation und Konfiguration, die für die Untersuchung der Verbindung in die Datenbank.
ENDE
DK über Firebird 64-bit - - - keine Erfahrung. Aber ich hatte schon immer eine Menge ärger mit dbExpress. Nie irgendein problem mit der mitgelieferten IB-Komponenten-suite. Aber es gibt eine Menge Verwirrung mit IB-Versionen...
Aber IMO bist du am besten bedient mit der ADO ('DBGo') Komponenten, im Gegensatz zu proprietären IB oder Delphi-spezifische Treiber. Was Sie brauchen, ist ein ADO-provider für IB, erhältlich @:
http://www.ibprovider.com/eng/ - und wie schon andere gesagt haben, vermeiden Sie die Verwendung von localhost, 127.0.0.1 verwenden, oder besser noch, zu bestimmen, die wahre IP-Adresse der workstation (ping machine-name...) Und sind Sie sicher, dass Sie nicht über irgendeine Art von firewall-oder intrustion Schutz einbezogen werden können?
Sie müssen auch sicherstellen, dass Ihre IB-Verbindung ist richtig konfiguriert - lokal oder TCP, und Nein, glaube nicht, verwenden Sie Anführungszeichen für Ihre Namen, pwrds, etc. Die Fehlermeldung, die Sie erhielten, deutet darauf hin, dass Sie versuchen, eine Verbindung über TCP und es ist nicht richtig konfiguriert. Was passiert zwischen der Zeit, als es funktionierte und die Zeit hat es nicht funktioniert? Herunterfahren Delphi? Starten Sie die Maschine neu? Bitte erklären....
Keine 'spezielle Berechtigungen' sind erforderlich - Sie müssen nur sicherstellen, dass Ihr Datenbank-client und-server ordnungsgemäß installiert und konfiguriert sind. In Bezug auf die Funktionalität, die Sie tun können, alles, was mit der pro - version- nur, dass die Treiber etc. sind nicht im Paket enthalten.
Wieder, IMO gehen für ADO und du wirst nie wieder sehen.
HTH,
MNG
sorry, ich meinte mit dbExpress.
verwenden Sie ping -4 myMachine Namen. Win 7 standardmäßig IPv6 verwendet. Link: DK - I nur mit der rechten Maustaste aufgerufen und "open link in new tab' und es kam in Ordnung. IDE-und Datenbank nicht brauchen, um 'bewusst von der Gegenwart des jeweils anderen" - wenn Ihre server-und client-Verbindung richtig konfiguriert sind, wird es funktionieren. Können Sie den Zugriff auf die Datenbank mit der IB-tools, die mit dem Paket kommen? Von dort aus starten -
BTW, wenn ich mich nicht Irre, können Sie keine Verbindung über TCP/IP mithilfe der mitgelieferten IB-Fahrer in der pro-version, und/oder die version von IB enthalten in der pro-version erlaubt nur das local-connection-Modus, nicht über TCP/IP. Wenn also, Sie könnten eine Verbindung zu einem remote-server, die reserviert ist für "enterprise" - Versionen, etc. ADO wird eine server anywhere, aber wenn Sie eine version von IB nicht unterstützt remote-verbindungen, das hilft nicht. Nicht sicher, was Red Lizard macht. HTH MNG
sind Sie Zugriff auf die DB lokal oder über ein Netzwerk? Was Anschluss-Modus sind diese tools verwenden? Wenn ich mich nicht Irre, IB hat 2 Anschluss-Modi standardmäßig 'local' und 'TCP/IP'.
InformationsquelleAutor
Haben Sie versucht, das Paradox über die Borland Database Engine (BDE) und zugehörige Komponenten:
TTable
TQuery
TStoredProc
TDatabase
undTSession
?Wenn der Speicher dient mir korrekt, zumindest so weit zurück wie Delphi 3, das Unterscheidungsmerkmal zwischen "professionellen" und die "higher-level" - Editionen wurde der Typ der Datenbank, die Entwicklung "aus der box".
?* Bitte beachten Sie, ich kann mich irren über die genaue Bezeichnung von diesen Editionen. Etwa zu dieser Zeit gründete ich die Meinung, dass Borland war nur mit "größeren" Namen, um mehr zu verlangen, für features, die nicht wirklich bieten so viel nutzen, wie der "big-Scheck-Schrift-CIOs" kam zu glauben - wobei die Entwickler auf den Umgang mit den Folgen umzugehen. (Ja, ich habe die Schlacht-Narben von Midas I.)
Rant beiseite, die Theorie war....
Wenn man sich auf entry-level - Datenbankentwicklung, würde Sie kaufen Delphi ?? Professional. Entwickeln Sie Ihr system gegen eine Datei-basierte Datenbank oder Interbase über die BDE.
Wenn Sie später benötigt, um scale-up: würden Sie ein upgrade von Delphi, kaufen Sie Ihre gewählten SQL-RDBMS, schalten Sie Ihre Konnektivität über die
TDatabase
Komponente, und wenden Sie die wenigen notwendigen tweaks.HINWEIS: In Delphi 3, Sie wechseln konnte, Nativen Interbase (persönlich nicht empfehlenswert) oder die Verwendung von third-party-Komponenten, für nicht-Midas-Entwicklung. Ab Delphi 4, ADO und DevExpress gestartet, die mehr Aufmerksamkeit und nowdays, die BDE scheint zu sein, ziemlich viel vergessen.
Natürlich Theorie & Praxis selten Häufig die gleichen Kneipen. Allerdings mit ein paar warnenden Zeiger, Sie sollten in der Lage sein zu entwickeln, die eine erhebliche Datei-basierte Lösung, die aktualisiert werden können, relativ schmerzlos.
TTable
in dieser situation - BDE-macht viel interessante hintergrund Dinge mitTTable
, und das Verhalten kann variieren, je nach Treiber und Plattform.Disclaimer: All dies war eine lange Zeit, so dass einige details ein wenig lückenhaft.
Disclaimer2: ich habe keine Erfahrung mit Delphi XE speziell. Derzeit nutze ich D5 Professionell, und D2009 in meiner persönlichen Kapazität.
Ich weiß sehr gut, dass die BDE würde eher vergessen werden. Es hat immer noch bugs geerbt von seiner DBase Wurzeln, die nie behoben werden. Es sich wahrscheinlich nicht um eine Portierung auf 64-bit. Aber es ist immer noch verbreitet, die mit Delphi, und da der OP will ein "low-oder null-Kosten" Lösung für sein problem - dies erfordert nichts anderes, als das, was er derzeit hat. BTW: ich habe gerade getestet, ein paar, die BDE-demos:
Demos\DelphiWin32\VCLWin32\Db\FishFact
undDb\MastApp
(anzeigen von Daten mit DbExplorer statt " Daten-Explorer) - es funktioniert auf Win7 64-bit mit nur 1 tweak-Einstellungen... es ist eine option zu prüfen!PS: nicht falsch verstehen, das Teil von meinem Beitrag: "entry-level ... Kauf Delphi Professional ... via BDE" .... Ich sage nicht, das ist, wie es sollte gemacht werden; ich sage, dass es so war fertig (circa Delphi 3 Tage). Mein Punkt ist: OP eine Lösung braucht. Don ' T write-off eine mögliche Lösung ist, einfach weil es nutzt datiert Technologie. Wenn OP feststellt, dass einer der anderen Antworten vollständig löst sein problem, ich werde gerne löschen von mir - denn die andere Antwort wird mit ziemlicher Sicherheit eine bessere Zukunft-proofed, als sich auf BDE.
Ich Schreibe aus der BDE Weg, da er ja haben-XE, er könnte verwenden Sie eine OLE DB-provider (ein link angeboten wurde) und auch OLE-DB über ODBC (welche ich mit FB ohne Probleme). Beide sind bessere Lösungen als die BDE, da er es installieren werde FB-client sowieso - und FB-Treiber-support-dsn-verbindungen.
Und FB ODBC ist kostenlos.
InformationsquelleAutor Disillusioned