如何在C#/ ADO.NET/FirebirdClient中查詢數據庫模式?命名空間Firebird.Data.Schema中的所有類都是內部的。用FirebirdClient查詢Firebird數據庫模式
例如: 檢查,如果表中有與存儲過程參數,其名稱和類型
等
FirebirdClient的指定名稱 查詢號碼欄 - 緊湊型框架,NETProvider-2.5.2-CF .7z壓縮
如何在C#/ ADO.NET/FirebirdClient中查詢數據庫模式?命名空間Firebird.Data.Schema中的所有類都是內部的。用FirebirdClient查詢Firebird數據庫模式
例如: 檢查,如果表中有與存儲過程參數,其名稱和類型
等
FirebirdClient的指定名稱 查詢號碼欄 - 緊湊型框架,NETProvider-2.5.2-CF .7z壓縮
你應該查詢系統表(其名稱的前綴爲RDB$
):
How to get a list of tables, views and columns in Firebird database?
RDB$ system objects
我懂了!
FbConnection connection = (FbConnection)this.GetConnection();
connection.GetSchema("procedureparameters", new string[] { null, null, procedureName });
也可以檢索與FbConnection數據庫對象::的getSchema
所有信息參見FbSchemaFactory :: PrepareCollection
我的意思是有可能使用FirebirdClient的內部類在我的應用程序。查詢RDB $表的代碼出現在這個庫中,並且重寫它兩次是恕我直言不是很好主意 – hellboy
您可以通過反射使用任何內部類型,所以這*是可能的。儘管如此,你應該記住,內部類型通常沒有文件記錄,並且即使在兩個版本之間它們的合同也可能被破壞。此外,您可以要求FB客戶端開發人員公開這些類型。可能是,有一些原因,阻止他這樣做。 – Dennis
謝謝。你節省了很多時間。 –