static internal void GenerateSchemaTable(OleDbDataReader dataReader, object handle, CommandBehavior behavior) {
     if (0 != (CommandBehavior.KeyInfo & behavior)) {
         dataReader.BuildSchemaTableRowset(handle); // tries IColumnsRowset first then IColumnsInfo
         dataReader.AppendSchemaInfo();
     }
     else {
         dataReader.BuildSchemaTableInfo(handle, false, false); // only tries IColumnsInfo
     }
     MetaData[] metadata = dataReader.MetaData;
     if ((null != metadata) && (0 < metadata.Length)) {
         dataReader.BuildSchemaTable(metadata);
     }
 }
 internal static void GenerateSchemaTable(OleDbDataReader dataReader, object handle, CommandBehavior behavior)
 {
     if ((CommandBehavior.KeyInfo & behavior) != CommandBehavior.Default)
     {
         dataReader.BuildSchemaTableRowset(handle);
         dataReader.AppendSchemaInfo();
     }
     else
     {
         dataReader.BuildSchemaTableInfo(handle, false, false);
     }
     System.Data.OleDb.MetaData[] metaData = dataReader.MetaData;
     if ((metaData != null) && (0 < metaData.Length))
     {
         dataReader.BuildSchemaTable(metaData);
     }
 }