At the end of my rope with Epicor support, they are not willing to investigate this.
While running Upgrade Kinetic Database I am getting an error with executing ModifyLangOrg.sql
I have got the upgrade to complete by removing the SQL script from the upgrade sequence, but I do not know the purpose of this script, and imagine it is important. It contains the same commands inside the script.
I can create the demo database and upgrade it, so it must be a database problem. Epicor does not believe me, and says they are able to load my database. Also its been 3 months, not super happy with them.
Have you asked chatgpt how to resolve the error? Sometimes the answer is worthless but I have been surprised at some of the useful tips I’ve gotten from trying this.
Support says they were able to load your original database and convert it successfully with no errors? If they haven’t done that, that is what I would be pushing them to do.
As an extreme last resort you could pay for the cloud conversion (aka cirrus upgrade) - then its their problem to provide you with a successfully upgraded database. But that isn’t a free solution.
ChatGPT has some good ideas, its better than support so far haha.
“If you still encounter an error stating that you cannot drop the full-text catalog, it could be because there are still references to the catalog in the system tables.”
" To find catalog references in SQL Server, you can use the following query:
SELECT * FROM sys.fulltext_catalogs
"
Sad but true. I desperately want Epicor to implement ChatGPT or similar and hook it up to their KB/service now/jira databases. It would do a million times better than the existing Tier 1 support and save me so much time and frustration. I see basically every other company jumping on this bandwagon. Come on Epicor!!!
It would be ideal to regenerate this table but I would imagine epicor would have to provide a fix to do that. Its something to do with Language or Locale.
aidacra
(Nathan your friendly neighborhood Support Engineer)
13
In this specific situation, one could drop all existing fulltext indexes and catalogs before an attempted test Kinetic upgrade and recreate them after the upgrade process completes. There may be errors running the recreation scripts afterward if the upgrade process creates one of the indexes if it doesn’t exist, but any of those errors could be safely ignored.
--execute the results of each statement after enabling "Results to Text" in SSMS before upgrade
SELECT 'DROP FULLTEXT INDEX ON ' + QUOTENAME(OBJECT_SCHEMA_NAME([T1].OBJECT_ID)) + '.' + QUOTENAME(OBJECT_NAME([T1].OBJECT_ID)) + ';'
FROM [SYS].[FULLTEXT_INDEXES] AS [T1];
SELECT 'DROP FULLTEXT CATALOG ' + [T1].[NAME] + ';'
FROM [SYS].[FULLTEXT_CATALOGS] AS [T1];
--execute the following after the upgrade completes
--"C:\Program Files (x86)\Common Files\Epicor Software\Database Manager Extensions\[release]\DB Migration\DB Scripts\Erp Scripts\ERP_FullTextIndexes.sql"
--"C:\Program Files (x86)\Common Files\Epicor Software\Database Manager Extensions\[release]\DB Migration\DB Scripts\Ice Scripts\ICE_FullTextIndexes.sql"
I’m excited to try this. Thank you!.
I’ve been asking ChatGPT how to force delete the catalog for a while before i seen this.
I’ll post results of course.
Is it possible to run the following query in your database that has the error?
select schema_name(o.schema_id), object_name(i.object_id)
from sys.fulltext_indexes i
join sys.objects o on o.object_id = i.object_id
and name = ‘LangOrg’
This will allow us to see who owns the LangOrg table.
Thanks! Now that the query below return the value 1?
SELECT 1
FROM sys.objects o, sys.fulltext_indexes i
WHERE o.object_id = i.object_id
AND SCHEMA_NAME(schema_id) = ‘Ice’
AND OBJECT_NAME(o.object_id) = ‘LangOrg’
IF EXISTS
(SELECT 1
FROM sys.objects o, sys.fulltext_indexes i
WHERE o.object_id = i.object_id
AND SCHEMA_NAME(schema_id) = ‘Ice’
AND OBJECT_NAME(o.object_id) = ‘LangOrg’)
DROP FULLTEXT INDEX on Ice.LangOrg
GO
When done, please re-run the query below.
SELECT 1
FROM sys.objects o, sys.fulltext_indexes i
WHERE o.object_id = i.object_id
AND SCHEMA_NAME(schema_id) = ‘Ice’
AND OBJECT_NAME(o.object_id) = ‘LangOrg’