2016-05-22 13 views
3

ich die Verbindung zu einer Firebird-Datenbank herstellen könnte mit der folgenden Verbindungszeichenfolge:Firebird Ausnahme: Tabelle unbekannt

ConnectionString = "User ID=SYSDBA;Password=masterkey;Database=localhost:C:\\MyDb\\mydb.FDB;DataSource=localhost;Charset=NONE;"; 

Aber wenn der C# -Code versucht auszuführen, um die Abfrage der folgende Fehler kommt:

dynamische SQL-Fehler SQL-Fehlercode = -204 Tabelle unbekannt

Der Code, den ich habe tr ied:

using FirebirdSql.Data.FirebirdClient; 
... 
FbConnection connection = new FbConnection(ConnectionString); 
connection.Open(); 
FbCommand readCommand = new FbCommand("Select Name From Customer;", connection); 
FbDataReader myreader = readCommand.ExecuteReader(); 

Es definitiv die Customers-Tabelle existiert (I mit IBExpert geprüft habe - dass ich die Daten lesen kann). Ich habe bei Google kaum etwas gefunden.

Firebird 2.5 Server läuft auf meinem Computer. Was könnte das Problem sein?

+0

Der Fehler ist unvollständig; Ein "Table unknown" -Fehler wird auch den Namen der unbekannten Tabelle anzeigen. Können Sie auch die DDL der Tabelle anzeigen? Ich vermute, dass Sie eine Tabelle "Kunde" erstellt haben, die Groß- und Kleinschreibung unterscheidet und sich daher von "Kunde" unterscheidet (was Groß- und Kleinschreibung nicht berücksichtigt und "KUNDE" entspricht). –

+0

Leider kenne ich die DDL nicht. Eine FDB-Datei wurde mir als Datenbank ohne weitere Informationen gesendet. Ich kann nur IBExpert verwenden (um zu sehen, welche Tabellen darin enthalten sind). Kann ich die DDL irgendwie aus der Datenbank selbst oder mit einigen Tools herausfinden? –

+0

Sicher, IBExpert kann die DDL zurückentwickeln (wie auch andere Tools). Da ich IBExpert nicht verwende, weiß ich nicht genau wie. –

Antwort

3

Wie Sie in den Kommentaren bestätigt, dass der Tabellenname tatsächlich "Customer" ist, müssen Sie die Objektnamen in der Abfrage zitieren sie Groß- und Kleinschreibung zu machen, so:

new FbCommand("Select \"Name\" From \"Customer\"", connection); 

Ich habe angenommen, dass Name ist auch Groß- und Kleinschreibung, und daher auch zitiert.

+0

Dies löste das Problem. Vielen Dank! –