当你调用DbConnection.GetSchema时,你给它你感兴趣的集合的字符串名称。我无法在任何地方找到集合列表。集合列表是不可变的还是因数据库类型(orcle,sql server等)而异?
我有兴趣在一些数据库类型中获取所有集合名称的列表,例如sql server和sqlite。
发布于 2018-07-26 13:35:47
对于System.Data.SQLite,我终于找到了支持的内容:
http://sqlite.phxsoftware.com/readme.htm
“DbConnection.GetSchema(...)支持包括ReservedWords,MetaDataCollections,DataSourceInformation,DataTypes,Columns,Tables,Views,ViewColumns,Catalogs,Indexes,IndexColumns,ForeignKeys和Triggers。”
我认为sql server大致相同,但我仍然没有确定的列表。
发布于 2018-07-26 14:31:10
我使用OleDbConnection,即使我连接到Oracle、SQL Server.然后我可以用:
myOleDbConnection.GetOleDbSchemaTable(OleDbSchemGuid.Tables);
OleDbSchemaGuid的可能值:
(请注意,根据数据库的不同,其中一些可以抛出NotSupport异常:
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;
https://stackoverflow.com/questions/-100000426
复制相似问题