Wir bekommen .ydb-Dateien der Firebird-Datenbank vom Client. Momentan haben wir einen DSN mit einigen zusätzlichen Installations-/Treibern erstellt und dann auf die Tabellen und Daten in den Dateien zugegriffen.Wie man Firebird Datenbankdateien in C# öffnet?
Wir planen, diesen Prozess auf azure Cloud-Dienst (nicht azure VM) zu verschieben, um die Erstellung von DSN usw. zu vermeiden, müssen wir auf die .ydb-Dateien aus C# -Code zugreifen.
Ich konnte nicht direkt mit firebird ado.net Provider öffnen, Ausnahmen zu werfen.
Die folgenden Schritte werden zum Erstellen von DSN in der Maschine verwendet. Es funktioniert für lange Zeit.
Firebird ODBC-Setup in Windows Server
DsnName-DSNName1,
Treiber-IscDbc,
Datenbank-E: \ Somefolder \ FileName.ydb
-Client-C : \ Programme \ Firebird \ Firebird2_5 \ WOW64 \ fbclient.dll
Datenbank Account- SYSDBA
Passwort - masterkey
Rolle - SYSDBA
CharSet - Keine
verwendet dann die folgenden Code C#, um den FileName.ydb den DSN zuzugreifen.
using (var connection = new OdbcConnection("DSN=DSNName1")) { connection.Open(); var schema = connection.GetSchema("Tables"); var tableNames = new List<string>(); }
nun den oben DSN Erstellungsprozess zu ändern, habe ich FirebirdSql.Data.FirebirdClient nuget Paket in der C# Lösung.
string connectionString = "User=SYSDBA;" + "Password=masterkey;" +
"Database=E:\\Somefolder\\Filename.ydb;" + "Dialect=3;" + "Charset=NONE;" +
"Role=SYSDBA;";
FbConnection fbConn = new FbConnection(connectionString);
fbConn.Open();
var schema = fbConn.GetSchema("Tables");
Es wirft Ausnahme auf fbConn.Open(); - Die Netzwerkanforderung zum Host "localhost" konnte nicht abgeschlossen werden.
Wie Sie die .ydb-Dateien in C# direkt öffnen, ohne einen DSN zu erstellen?
Zeigen Sie uns, was Sie bisher haben, schreiben Sie Ihren Code auf die Frage. Und welchen Fehler bekommst du? – Esko
Haben Sie tatsächlich einen Firebird Server installiert? Da der Treiber versucht, eine Verbindung zu einem Firebird-Server auf localhost herzustellen. Wenn Sie Firebird nicht installieren möchten, müssen Sie den Firebird ADO.NET-Provider und eine eingebettete Firebird-Installation verwenden. –
Beachten Sie auch, dass 'ydb' kein typisches Suffix für Firebird-Datenbanken ist (normalerweise' fdb' oder vielleicht 'gdb'). –