Your Knowledge Base has moved to the new Help Center.  Check out the release notes for details. And don't forget to update your bookmarks and in-house documentation before May 28.

Platform Errors

 

The following platform errors have documented solutions.

Timeout expired

The timeout period elapsed prior to obtaining a connection from the pool.
This may have occurred because all pooled connections were in use and max pool size was reached. The most likely cause that some queries are taking too long to finish​.

If you have server access, use SQL Profiler during the service (or timeframe you get the error) to analyze what queries are taking a long time. The goal is to identify what queries are tying up resources and then determine how do deal with those specific queries.

If you are running SQL Server 2016 or later, you can also use SQL Query Store. It will gather information on long-running queries, and should be run for an extended time to get good data.

Column specified multiple times

The column 'xxxx' was specified multiple times for '_InnerQuery'.
This error happens when a field is listed more than once in your Field List. The fix is to remove all but one. The error will contain the specific Field Name.

The correlation name '<column-name>_Table' is specified multiple times in a FROM clause
This issue is caused when a relationship is specified more than once in the SQL Server database. The relationship is on the column named in the error message (represented above as <column-name>). To resolve this, determine which table is in scope and compare all of the relationships for the named column. Using the table/relationships designer in SQL Server Management Studio to look for one that is defined twice.

Subquery returned more than 1 value

Subquery returned more than 1 value.
This is not permitted when the subquery follows =, !=, <, <=, >, >= or when the subquery is used as an expression.

This error usually happens in a view when a subquery must return a single value. This is almost always when a subquery is used in the Field List. To resolve this issue, the subquery should use one of the following techniques to return a single value: Aggregates, TOP 1, STUFF, DISTINCT, GROUP BY (see Advanced SQL - Calculated Fields).

Circular reference between tables

There is a circular reference between tables.
This error normally occurs when attempting to delete a record. Circular references are not easily resolved by the system, so the delete is halted until the circular condition is resolved manually.

1) In general, it is recommended to not delete records. This is the easiest solution.

2) Another option is to find the records which are holding up the delete and remove the relationships specified in the error message. Read the error message carefully to determine which field is the cause of the circular reference. This is the field which needs to be cleared to go forward with the delete. If you need, you can go back and restore the relationships after your delete. You may want to save these in a separate selection so you can go back to them.

Take Groups for example. Groups can refer to Groups via the Parent Group field. If a Parent Group has itself as a child Group (however many levels deep), it will cause a circular reference. Here is a helpful view example to help you locate these type of error records on the Groups page if they are one level deep (it will not reveal multiple levels deep).

Fields:

Groups.[Group_Name] AS [Group Name]
,Parent_Group_Table.[Group_Name] AS [Parent Group Name]

View Clause:

Groups.[Group_ID] = Parent_Group_Table.[Group_ID]

3) A third option is to request Professional Services and have them do the delete for you. Send your request to support.

4) If the table truly should be capable of a circular reference (directly to itself or indirectly through other related tables), this may indicate an improperly defined relationship in the database. See probable cause for the error Primary key value is not provided or does not represent an integer (below) for more information.

See also: Deleting Users, Adding and Deleting Security Roles.

Invalid sorting expression

Invalid sorting expression: Column index is outside of the column's list.
This happens when you have previously sorted a column in the page grid by clicking on the column header, but the number of columns is now less than it was when you sorted. It is specific to the browser and machine you are using when you sorted. To prevent this error, sort using a different column visible in the view.

Input string was not in a/the correct format

There are two variations of this error. Note whether there the article in the error is "a" or "the"

Input string was not in the correct format.
If you get this when trying to open a record, the likely cause is the Selected Record Expression for the page. If a field name is not fully qualified with a table name, add the table name and a dot: "Program_Name" should be "Programs.Program_Name".

Input string was not in a correct format
If you get this error, look for default values for columns in the table you are trying to display a page for. These are defined in the database on the server.

Record corresponding to the provided identifier is not found

Record corresponding to the provided identifier is not found. Parameter name: value
A default value is defined in a table field which has no corresponding record in the related table. The solution is to change the default for the table field using SQL Server Management Studio. See Default Values.

Invalid column name

Invalid column name.
The most likely cause for this error is a field in a view which needs to qualify with the table name. Check both the Fields List and the Filter Clause, the table reference should be fully qualified in both places for views and charts to function correctly.

ORDER BY items must appear in the select list

ORDER BY items must appear in the select list if SELECT DISTINCT is specified
This is usually due to a sort clause in a STUFF function. When using DISTINCT with an ORDER BY clause, the sort field must match the DISTINCT field. In a STUFF, it usually looks like this: STUFF(SELECT DISTINCT ', ' + G.Group_Name FROM... The fix is to use the exact same calculation for the sort, like this: ORDER BY ', ' + G.Group_Name...

Invalid column name 'User_ID'. Procedure: "dp_DeriveValueFromFieldName"

Invalid column name 'User_ID'. Procedure: "dp_DeriveValueFromFieldName".
There are different conditions which can cause this error. Either the value is incorrect or the value should be omitted. In the Steps sub-page in the Processes page, not all of the fields are visible (the fields are hidden or shown depending on which values are selected). This can lead to a condition in which the Lookup User Field is populated but it should not be (if the Step was copied and then edited for example). If the User Lookup Field is not visible, check for a value by following the link navigation to see the full record. If the value is populated (but was not visible) clearing the value may clear up this error.

Cannot insert the value NULL into column

Cannot insert the value NULL into column '<primary key field>', table '<table-name>'; column does not allow nulls. INSERT fails. The statement has been terminated.
When this error occurs for a Primary Key field, the field probably was created without an IDENTITY specification. See Creating Pages

This method or property cannot be called on Null values.

Data is null. This method or property cannot be called on Null values.
This error is not normally reported in the User Interface but can be found in the Event Viewer. One known cause is a Contact who has View Notifications but no email address. Another cause is a Task that is assigned to, or has the Author of, a User that does not have a Display Name on their record.

An item with the same key has already been added

An item with the same key has already been added.
This error can be caused by a Filtered Page and may manifest in the use of Core Tools. Check that the System Name for a page has not been used more than once (due to copying an existing page) and make sure there are not two or more Pages for the same table with no filter. Only one Page should be unfiltered.

Ambiguous Column Name

Ambiguous Column Name...
This error can be caused by a Page or View when the resulting SQL statement refers to two fields with the same name from different tables.

Look for any fields listed in the error that are unqualified with a table name:

  • Page:
    • Default Field List.
    • Contact ID Field.
    • Start Date Field.
    • End Date Field.
    • Selected Record Expression.
  • Page Views (start with the Default View or Pick List View depending on the context):
    • Field List.
    • View Clause.
    • Order By.
  • Sub-Page Views (start with the Sub-Pages on the Page):
    • Field List.
    • View Clause.
    • Order By.
Table that supports direct deletes only

Cannot perform operation because the page '<page name>' is based on a table that supports direct deletes only.
This error is reported when the page record has the field "Direct Delete Only" set to prevent cascading deletes. See Direct Delete Only on in Page Fields.

The DELETE statement conflicted with the REFERENCE constraint

The DELETE statement conflicted with the REFERENCE constraint "FK_dp_Notification_Page_View_dp_Page_Views"
This error occurs when trying to delete a View which has View Notifications attached to it.

The transaction was aborted

The transaction was aborted.
The most common source of this error is an active Process for the table which is not configured correctly. Look for incorrect sql in the Dependent Clause. Another possible cause is an error in a database Trigger (this is something you would have to get on the server to diagnose).

The conversion of a date data type to a datetime data type resulted in an out-of-range value

The conversion of a date data type to a datetime data type resulted in an out-of-range value
This error is caused by a date field which is outside of the range for datetime. The datetime data type only supports values Between '1753-01-01' and '9999-12-31'. You may be able to find the incorrect value using a query like this (using SQL Server Management Studio):

SELECT Contact_ID, Date_of_Birth FROM Contacts 
WHERE Date_of_Birth < '1753-01-01' OR Date_of_Birth > '9999-12-31' ORDER BY Date_of_Birth
Primary key value is not provided or does not represent an integer

Primary key value is not provided or does not represent an integer
This error may have the following cause: If a table has a self-join to its own primary key. The most common cause for this is the addition of an extra relationship while using SSMS. The default values for a new relationship are the primary key to the primary key. If a user saves the defaults without changing them, this condition can result). The easiest way to diagnose for a specific table is to look for a relationship named FK_Table_Table where "Table" is the table being edited. If the Foreign Key and Primary Keys point to the same table/column, this is an issue. See the following example:

Unable to cast object of type 'System.Int32' to type 'System.String'

If happens during the creation of a Task, check the Selected Record Expression (SRE) for the Page. Because the SRE is converted to a string (text) and stored in the task, the expression must handle any values that are not already strings (text).

For example, this SRE is not valid because an integer is not automatically be converted into a string:

Form_Response_Answer_ID

Here  the value is properly converted to a string):

CONVERT(varchar(10), Form_Response_Answer_ID)
Unable to cast object of type 'System.DateTime' to type 'System.String'

If happens during the creation of a Task, check the Selected Record Expression (SRE) for the Page. Because the SRE is converted to a string (text) and stored in the task, the expression must handle any values that are not already strings (text)

For example, this SRE is not valid because a date cannot automatically be converted into a string:

Form_Responses.Response_Date

Here are two other ways the value could be expressed (and properly converted to a string).

The first method uses platform supported functions to adjust the date for the User's Time Zone and Locale:

dbo.dp_Format_Date(dbo.dp_Convert_DateTime(Form_Responses.Response_Date,dp_DomainTimeZone,dp_UserTimeZone),dp_UserLocale)

The second version converts a date using the raw date value and a SQL format:

CONVERT(VARCHAR(10),Form_Responses.Response_Date,101)
Conditions Without Specific Error Messages

Not able to edit a Record in the platform.
The symptoms of this issue include: 1) Users are not able to commit changes to a record. 2) The ID for the record does not appear in the title. This can be caused by a self-referencing key in the table. When creating a relationship in SSMS, the default fields are both the primary key. If this is accidentally saved without changing the Foreign Key Column it will cause this issue

Permission Errors

User is not authorized to access page data.
The User requires permission for a Page. If this happens in the context of editing a Series, you will need to grant the Assign permission for the page (see Page Permissions). If the error happens in the context of the Preview Record tab for a Task, the User requires permissions to the record associated with the Task. Check permissions for the page listed in the "Associated Page" column for the task.

Cannot retrieve a user associated with the current request.
the likely cause of this error is an expired login. Login again and retry.

Advanced Search Errors

System was not able to parse and recognize some of the expressions in the field list and filter clause! Do you want to continue?
See Personal Views.

Incorrect syntax near the keyword 'ORDER'
This error is often caused by an incomplete filter clause. Look for one or more opening parentheses which don't have corresponding close parentheses.

Cloud Errors (Tools/BMT)

Client is unknown or not enabled
This could be a configuration issue on the Cloud Server or in the customer platform. Customers should first check to see that the API Client has not been disabled. The client id in scope can be found in the url in the window where the error message is found.

Message Errors (Email/SMTP)

See Message Errors.

Portal and Giving Errors

See Portal Errors.

Login Screen - Fields Missing

We have discovered that unfortunately, we don't play well with Rocket Loader. Rocket Loader is a feature by Cloudflare that can help reduce page load time. Unfortunately, the method in which it does this is very aggressive, is a beta product, and can often break JavaScript. If your MinistryPlatform login page loads, but you have no fields presented to log in, this might be the cause. Contact Cloudflare support for assistance.