Link to home
Start Free TrialLog in
Avatar of prgMan
prgMan

asked on

SQL Server Managed Code Error 'system.core.... was not found in the SQL catalog'

Hi Experts,
I wrote a SP in C# to deploy to SQL Server using VS2008.  The code works fine when I use it in windows app.  But when I push put into C# SP it generates the following error:
Error      1      Assembly 'system.core, version=3.5.0.0, culture=neutral, publickeytoken=b77a5c561934e089.' was not found in the SQL catalog.      

Error      2      'System.Array' does not contain a definition for 'Count' and no extension method 'Count' accepting a first argument of type 'System.Array' could be found (are you missing a using directive or an assembly reference?)      

I have found several links to adding registering System.Core, adding references, etc.  but so far I have been unable to resolve the issue.  I 'think' it has to do with only 13 or so assemblies installed in SQL Server 2005.  Is there a way to add more references?

http://social.technet.microsoft.com/Forums/en-US/sqlnetfx/thread/3dfee9d1-0cfd-48da-a90f-100a7d67ee1c/

http://luke.breuer.com/time/item/SQL2005_using_LINQ_in_SQLCLR/213.aspx

http://social.technet.microsoft.com/Search/en-US/?Query=system.core+was+not+found+in+the+sql+catalog%3b

http://www.google.com/search?hl=en&client=firefox-a&channel=s&rls=org.mozilla%3Aen-US%3Aofficial&hs=XEg&q=Assembly+%27system.core+not+found+in+the+SQL+catalog&btnG=Search

NOTE: When I comment out everything between the drConflicts.Count() == 0 and the end it still gives the errors, when I comment out the if/end then the error goes away.  I am assuming System.array which is not part of the assemblies in SQL Server is the problem?

Thanks in advance your help!
...  
            DataRow[] dRow = dtInRunning.Select("plCallPID = " + pidID);
            DataRow[] drConflicts = dtConflict.Select("pdID = " + pidID);
 
            if (drConflicts.Count() == 0)
            {
                if (dRow.Count() > 0)
                {
                    pidRunningThreadQty = (Int32)dRow[0]["pidCnt"];
                    pidRunningThreadAllowed = (Int32)dRow[0]["pdPIDThreads"];
                    pidRunningClassQty = (Int32)dRow[0]["classCnt"];
                    pidRunningClassAllowed = (Int32)dRow[0]["pdClassThreads"];
                    pidMaxCallsPerDayAllowed = (Int32)dRow[0]["pdMaxCalls"];
 
                    if (pidRunningThreadQty >= pidRunningThreadAllowed)
                    { runPID = false; }
                    if (pidRunningClassQty >= pidRunningClassAllowed)
                    { runPID = false; }
                    //if (pidMaxCallsPerDayQty >= pidMaxCallsPerDayAllowed)
                    //{ runPID = false; }
                }
            }
            else
            {
                runPID = false;
            }  // if (drConflicts.Count(....

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of EugeneZ
EugeneZ
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial