Frage

Könnte jemand bitte die beste Art und Weise erklären zu einer Interbase 7.1 Datenbank mit .NET / C #?

verbinden

Die Anwendung wird auf vielen Endbenutzer-Computern installiert werden, so dass die weniger „Add-ons“, die ich habe mit meiner Anwendung verpacken, desto besser.

War es hilfreich?

Lösung

CodeGear bietet einen kostenlosen ADO.NET 2.0-Treiber für registrierte Anwender von Interbase hier:

http://cc.embarcadero.com/item/25497

Beachten Sie, dass „für registrierte Benutzer von Interbase“ die freie Interbase 2007 Developers Edition enthält. Der Download sagt, dass es für das Jahr 2007, aber es funktioniert gut mit Interbase 7 und das Interbase-Team bei CodeGear hat mir gesagt, dass sie kein Problem mit Leuten, die ihn für diesen Zweck verwendet wird.

Ich empfehle nicht, einen Treiber für Firebird entwickelt, als Interbase und Firebird etwas andere SQL-Syntax haben, und in anderen Merkmalen unterscheiden, wie gut. Insbesondere denke ich, dass jeder Fahrer mit abhängig von fbclient.dll mit Interbase geradezu gefährlich ist.

Andere Tipps

Ich denke, der Firebird .NET-Provider die gleiche wie die, die in Mono ist. Beide sind übrigens ausgezeichnet.

Der Code in der Hilfe-Datei funktioniert in vielen Situationen, aber nicht alle, vor allem unter Windows 8.1, Windows Server 2012-Maschinen.

Stellen Sie sicher, dass Sie die neueste InterBase_ADO.NET von Embarcadero erhalten. Die Version, die ich aktualisiert wurde Version 16.0.4327.44959 von Borland.Data.AdoDbxClient.dll. (Rechtsklick auf Datei, Eigenschaften, Details Versionsnummer sehen). Die Installation von erstellt auch einen x64-Version Ordner für 64-Bit, obwohl ich es nicht benutzt haben. Ich gezielte x86 ohne Probleme.

Dieses ADO.NET installieren ist nicht notwendig, auf jeder Maschine zu tun - Sie müssen nur die folgenden Dateien in Ihrem Projekt enthalten und haben Interbase auf dem Rechner installieren Sie laufen auf. Ich installierte den Fahrer nur auf meinem Entwicklungscomputer.

Das Installations alle notwendigen Dateien zu extrahieren, müssen Sie Ihre Anwendung setzen, um die Datenbank zu verbinden. Es wird auch die readme ADO_NET 2_0 Treiber für Interbase XE Installation und Verwendung Instructions.htm Datei erstellen. Wichtiger Hinweis: die DB-Verbindung Beispiele in dieser Hilfe htm-Datei funktioniert nicht 100% der Zeit. Sehen Sie mein Codebeispiel unten für die Lösung.

Keine ODBC-Verbindung erforderlich. Die Liste der Dateien in Ihrem .NET-Projekt einbezogen werden und kopiert werden lokal sind:

  • Borland.Data.AdoDbxClient.dll
  • Borland.Data.DbxCommonDriver.dll
  • Borland.Data.DBXInterBaseDriver.dll
  • Borland.Delphi.dll
  • Borland.VclDbRtl.dll
  • Borland.VclRtl.dll
  • dbxadapter.dll (x86 oder x64-Version)
  • dbxint.dll (x86 oder x64-Version)
  • gds32.dll (vom ınterbase DB installieren)
  • interbase.msg (vom ınterbase DB installieren)

Ich fand zwei Verbindungszeichenfolgen, die funktionierte. Um die Verwendung einer von zwei Verbindungszeichenfolge zu verbinden:

connectionstring1 = "DriverName=Interbase;Database=" + database + ";User_Name=" + userid + ";Password=" + password;
connectionstring1 = connectionstring1 + ";SQLDialect=3;MetaDataAssemblyLoader=Borland.Data.TDBXInterbaseMetaDataCommandFactory,Borland.Data.DbxReadOnlyMetaData,Version=11.0.5000.0,Culture=neutral,";
connectionstring1 = connectionstring1 + "PublicKeyToken=91d62ebb5b0d1b1b;GetDriverFunc=getSQLDriverINTERBASE;LibraryName=dbxint30.dll;VendorLib=GDS32.DLL";

connectionstring2 = “User_Name="+userid+";Password="+password+";Database="+database+";ServerType=0;Charset=NONE;LibraryName=.\\dbxint.dll;VendorLib=GDS32.DLL;GetDriverFunc=getSQLDriverINTERBASE;SQLDialect=3";


GlobalObjects.dbconn = (TAdoDbxConnection)TAdoDbxInterBaseProviderFactory.Instance.CreateConnection();

GlobalObjects.database = databasepath;
GlobalObjects.dbconn.ConnectionString = connectionstring1;  //or connectionstring2
GlobalObjects.dbconn.Open();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top