当你调用DbConnection.GetSchema时,你给它你感兴趣的集合的字符串名称.我无法在任何地方找到集合列表.集合列表是不可变的还是因数据库类型(orcle,sql server等)而异?
我有兴趣在一些数据库类型中获取所有集合名称的列表,例如sql server和sqlite.
我使用OleDbConnection,即使我正在连接Oracle,Sql Server ......然后我可以使用:
myOleDbConnection.GetOleDbSchemaTable(OleDbSchemGuid.Tables);
OleDbSchemaGuid的可能值:(
请注意,根据数据库的不同,其中一些可能会抛出NotSupported异常:
OleDbSchemaGuid.Assertions; OleDbSchemaGuid.Catalogs; OleDbSchemaGuid.Character_Sets; OleDbSchemaGuid.Check_Constraints; OleDbSchemaGuid.Check_Constraints_By_Table; OleDbSchemaGuid.Collations; OleDbSchemaGuid.Column_Domain_Usage; OleDbSchemaGuid.Column_Privileges; OleDbSchemaGuid.Columns; OleDbSchemaGuid.Constraint_Column_Usage; OleDbSchemaGuid.Constraint_Table_Usage; OleDbSchemaGuid.DbInfoKeywords; OleDbSchemaGuid.DbInfoLiterals; OleDbSchemaGuid.Foreign_Keys; OleDbSchemaGuid.Indexes; OleDbSchemaGuid.Key_Column_Usage; OleDbSchemaGuid.Primary_Keys; OleDbSchemaGuid.Procedure_Columns; OleDbSchemaGuid.Procedure_Parameters; OleDbSchemaGuid.Procedures; OleDbSchemaGuid.Provider_Types; OleDbSchemaGuid.Referential_Constraints; OleDbSchemaGuid.SchemaGuids; OleDbSchemaGuid.Schemata; OleDbSchemaGuid.Sql_Languages; OleDbSchemaGuid.Statistics; OleDbSchemaGuid.Table_Constraints; OleDbSchemaGuid.Table_Privileges; OleDbSchemaGuid.Table_Statistics; OleDbSchemaGuid.Tables; OleDbSchemaGuid.Tables_Info; OleDbSchemaGuid.Translations; OleDbSchemaGuid.Trustee; OleDbSchemaGuid.Usage_Privileges; OleDbSchemaGuid.View_Column_Usage; OleDbSchemaGuid.View_Table_Usage; OleDbSchemaGuid.Views;