There are three possible reasons why a view will not appear as an option:
- dbFront does not have security to see the view,
- No common field names between the table and view,
- Incompatible field types,
- dbFront rejected the view.
When a view is defined you need to ensure that the dbFront connection user has SELECT access to that view. The name of the connecting user can be found by looking in the database connection properties in the dbFront advanced view.
Once the connection user name is known then you need to examine their properties to validate that they have SELECT access to the view you need.
For SQL Server you will need to look in the Securables area of the database user's properties as defined:
- within that specific database and,
- at the server level.
dbFront scans all available views and only shows those views that have at least one common field name. The search is not case-sensitive. dbFront skips certain classes of fields: passwords, XML fields, object/image fields and anything that is not indexable. It is also not possible to join a view to a view.
Compatible Field Types
When dbFront scans for compatible views it also validates that the field types for the joining fields are compatible.
There may be other reasons that dbFront will reject a view. As dbFront loads your database structure it will log issues. To look for rejected views open the dbFront Log Viewer from [Help] / [Log Viewer] and search for "View Error" or "Rejecting View".