The following is the SQL required to get what is needed from a SQL Server 2000 so that a read-only DAL can be generated from a view.
SELECT obj.name AS VIEW_NAME,
col.name AS COLUMN_NAME,
types.name AS COL_DATATYPE,
col.length
FROM syscolumns col
JOIN sysobjects obj ON col.id = obj.id AND obj.xtype = ‘V’
JOIN systypes types ON col.xtype = types.xtype
WHERE obj.name NOT LIKE ‘SYS%’
ORDER BY obj.name, col.colorder