Hosting FAQ

I'm getting the exception SqlDataProvider configuration already contains a interface named 'Composite.Data.Types.IDataTypeDescriptor,Composite' when my site start up. How can I solve this?

Answer:

This exception is thrown when C1 does not find a SQL table 'Composite_Data_Types_IDataTypeDescriptor_public' that matches the definition in the file ~/App_Code/Composite/Configuration/DynamicSqlDataProvider.xml.

If you get this exception you should ensure that the following is in place:

Ensure that your SQL database copy is 'good'

If you have copied your database from another location, make sure the copy have been done using backup / resore. The 'copy data' feature in SQL Server will by default not copy table settings like primary keys, which will get C1 configuration 'out of sync' with the table schema. 

You can check if you have this issue by starting SQL Server Management Studio and locating the table Composite_Data_Types_IDataTypeDescriptor_public, select the right click command 'Design' and see if there is a 'key icon' next to the Id column. If you have no key icon, you copied the database the wrong way and you need to re-do the copying in a different way - for instance by using the backup / restore feature.

Ensure your connection string is good

If the table schema apears as expected (the Id column on Composite_Data_Types_IDataTypeDescriptor_public is indeed a primary key column) then ensure that your connection string is valid. You will find the connection string in the file ~/App_Data/Composite/Composite.config - if you make changes to the connection string, make sure to restart the site for instance by recycling the ASP.NET Application Pool.