3

I can't find COLUMN_FLAGS field values' enumeration for Columns collection of OLE DB Schema Collections (ADO.NET):

Columns

ColumnName       DataType
...
COLUMN_FLAGS     Int64

for Microsoft.Jet.OLEDB.4.0 provider.

Please post COLUMN_FLAGS field values' enumeration here or post a link on a web page where this information is published.

Thank you.

[UPDATE]

Here are some sample COLUMN_FLAGS values for Microsoft.Jet.OLEDB.4.0 provider from real MS Access database - Northwind's Categories table:

1. CategoryId - AutoNumber        = 0x5A (90) - DataTypeEnum = adInteger (3)
   -------------------------------------------------------------------------
      DBCOLUMNFLAGS_MAYBENULL     = 0x40 
      DBCOLUMNFLAGS_ISFIXEDLENGTH = 0x10 
      DBCOLUMNFLAGS_WRITEUNKNOWN  = 0x08 
      DBCOLUMNFLAGS_MAYDEFER      = 0x02 

 2. CategoryName - Short Text     = 0x4A (74) - DataTypeEnum = adWChar (130)
   -------------------------------------------------------------------------
      DBCOLUMNFLAGS_MAYBENULL     = 0x40 
      DBCOLUMNFLAGS_WRITEUNKNOWN  = 0x08 
      DBCOLUMNFLAGS_MAYDEFER      = 0x02  

 3. Description - Long Text(Memo) = 0xEA (234) - DataTypeEnum = adWChar (130)
   --------------------------------------------------------------------------
      DBCOLUMNFLAGS_ISLONG        = 0x80
      DBCOLUMNFLAGS_MAYBENULL     = 0x40 
      DBCOLUMNFLAGS_ISNULLABLE    = 0x20
      DBCOLUMNFLAGS_WRITEUNKNOWN  = 0x08 
      DBCOLUMNFLAGS_MAYDEFER      = 0x02

 4. Picture - OLE Object          = 0xEA (234) - DataTypeEnum = adBinary (128)
   ---------------------------------------------------------------------------
      DBCOLUMNFLAGS_ISLONG        = 0x80
      DBCOLUMNFLAGS_MAYBENULL     = 0x40 
      DBCOLUMNFLAGS_ISNULLABLE    = 0x20
      DBCOLUMNFLAGS_WRITEUNKNOWN  = 0x08 
      DBCOLUMNFLAGS_MAYDEFER      = 0x02

Confusing, aren't they?

ShamilS
  • 1,410
  • 2
  • 20
  • 40
  • Have you seen [this thread](http://social.msdn.microsoft.com/Forums/en-US/3fa2bc10-8720-49db-9d5d-0fa9554b65fe/getschema-columnflags?forum=adodotnetdataproviders) in another forum? There is also a "DBCOLUMNFLAGS Enumerated Type" section on the MSDN page [here](http://msdn.microsoft.com/en-us/library/ms722704%28v=vs.85%29.aspx). – Gord Thompson Jan 27 '14 at 18:57
  • @Gord Thompson, yes, I have seen [the thread you've referred](http://social.msdn.microsoft.com/Forums/en-US/3fa2bc10-8720-49db-9d5d-0fa9554b65fe/getschema-columnflags?forum=adodotnetdataproviders) as well as [this sample code](http://woldlab.caltech.edu/~diane/kde4.10/workingdir/debian/pkg-virtuoso/libsrc/Wi/oledb.sql) but I have got COLUMN_FLAGS value = 0x5A for MS Access AutoNumber field => if decoded it will be: DBCOLUMNFLAGS_MAYDEFER = 0x2, DBCOLUMNFLAGS_WRITEUNKNOWN = 0x8, DBCOLUMNFLAGS_ISFIXEDLENGTH = 0x10, DBCOLUMNFLAGS_MAYBENULL=0x40. AFAIU Jet.OleDB should have different custom enum? – ShamilS Jan 27 '14 at 19:22
  • Some more sample **COLUMN_FLAGS** values for `Microsoft.Jet.OLEDB.4.0 provider`: **AutoNumber**: _0x5A_ - DBCOLUMNFLAGS_MAYBENULL=0x40, DBCOLUMNFLAGS_ISFIXEDLENGTH = 0x10, DBCOLUMNFLAGS_WRITEUNKNOWN = 0x8, DBCOLUMNFLAGS_MAYDEFER = 0x2; **Short Text**: _0x4A_ - DBCOLUMNFLAGS_MAYBENULL = 0x40, DBCOLUMNFLAGS_WRITEUNKNOWN = 0x8, DBCOLUMNFLAGS_MAYDEFER = 0x2; **Long Text(Memo) and Picture(Binary)**: _0xEA_ - DBCOLUMNFLAGS_ISLONG = 0x80, DBCOLUMNFLAGS_MAYBENULL = 0x40, DBCOLUMNFLAGS_ISNULLABLE = 0x20, DBCOLUMNFLAGS_WRITEUNKNOWN = 0x8, DBCOLUMNFLAGS_MAYDEFER = 0x2. Confusing, aren't they? – ShamilS Jan 27 '14 at 19:38
  • I am struggling to get info if a column is computed, is there any way to check that with those flags? – Dejan Dozet Jul 05 '22 at 07:36

0 Answers0