Overview
When working with Aras Innovator (or other applications using SQL Server), you may encounter the following error:
Invalid object name 'STRING_SPLIT'. in SQL:
DELETE FROM [PACKAGEELEMENT]
WHERE [ELEMENT_ID] IN (SELECT [value] FROM [STRING_SPLIT]( @idlist, ',' ))
This occurs when the SQL Server instance does not recognize the STRING_SPLIT
function, even though you may be running on SQL Server 2016 or later.
Root Cause
STRING_SPLIT
was introduced in SQL Server 2016 and requires:
- SQL Server 2016 or newer.
- Database compatibility level set to 130 or higher.
Even if your server version supports it, if the database compatibility level is below 130, SQL Server will throw the Invalid object name 'STRING_SPLIT'
error.
This is common when upgrading an older database to a newer SQL Server instance without updating its compatibility level.
Solution: Update Database Compatibility Level
Step 1: Check Current SQL Server Version
Run:
SELECT @@VERSION;
This confirms the SQL Server version (e.g., SQL Server 2019 → supports STRING_SPLIT
).
Step 2: Check Current Database Compatibility Level
Run:
SELECT name, compatibility_level
FROM sys.databases
WHERE name = DB_NAME();
If compatibility_level
is less than 130, you’ll need to update it.
Step 3: Update Compatibility Level to 130
Run:
ALTER DATABASE [InnovatorSolutions]
SET COMPATIBILITY_LEVEL = 130;
If your server supports a higher level (e.g., 150 for SQL Server 2019), you may choose that instead, but 130 is the minimum required for STRING_SPLIT
.
Step 4: Verify and Retest
Run the check again:
SELECT name, compatibility_level
FROM sys.databases
WHERE name = DB_NAME();
Once confirmed, retry your operation in Aras Innovator. The STRING_SPLIT
function should now work as expected.
Why This Matters for Aras Innovator
Many Aras Innovator methods and SQL scripts use STRING_SPLIT
for parsing comma-separated lists (such as IDs). Without the proper compatibility level, these scripts fail, breaking operations like package element deletions, import/export processes, and batch updates.
Updating the compatibility level ensures:
- Full use of SQL Server’s modern functions.
- Better query performance.
- Compatibility with out-of-the-box Aras SQL methods.
Summary
Error: Invalid object name 'STRING_SPLIT'
Cause: Database compatibility level < 130
Fix:
ALTER DATABASE [InnovatorSolutions] SET COMPATIBILITY_LEVEL = 130;
This simple one-line change restores functionality and prevents similar issues with other modern SQL functions.