AnsweredAssumed Answered

Unable to Load OSISoft SQL CLR Assemblies 'osisoft.pisdkcommon'  ... was not found in the SQL catalog

Question asked by PaulNeedsCoffee on May 20, 2016
Latest reply on May 20, 2016 by PaulNeedsCoffee



I have for a few months being developing SQL stored procedures that use the method described in Developing an CLR assembly with PI SDK  to both read and write data to a PI system.

It has been working fine.

But yesterday, I went to do an update of my assembly and found that for some new reason the OSISoft assemblies it depends on can't see each other anymore.

I have no control or visibility on what gets installed on the server.


I am unable to Load OSISoft SQL CLR Assemblies into SQL SERVER 2012 Version 11.0.3000.0 on a Windows Server 2012 R2 Standard server. 


OSIsoft.PISDKCommon.dll  loads into SQL Server successfully both from a 'Create assembly' sql statement and also from clicking New Assembly in the management studio.


BUT Loading either of OSIsoft.PISDK.dll and OSIsoftPITimeServer.dll which depend on that assembly FAILS! I have tried loading with 'Create Assembly' from SSMS GUI and by scripting the assembly from the dev machine but every method fails with the same error.


OSIsoft.PISDK.dll returns message that OSISoft.PISDKCommon cannot be found in the SQL Catalog as follows... Even though I can SEE the dependent assembly mentioned in the SQL Server Management Studio Browser!


How can I load these dll's into SQL Server?


Assemblies Versions:


OSIsoft.PISDKCommon.dll right clicking this file gives File and Product Version Loads OK


OSIsoft.PITimeServer.dll right clicking this file gives File and Product Version Can't see its dependent assembly


OSIsoft.PISDK.dll right clicking this file gives File and Product Version Can't see its dependant assembly



I'm wondering if Issue "Unable to load missing assemblies"  is related since its talking about the same assemblies but my versions are beyond those in which the accepted answer to that question was 'fixed'?


I am now afraid to delete the loaded assemblies from the dev server SQL management studio in case I cant load them back again.  But of course everything is moot if I cant get the assemblies load into Production.

Any Ideas appreciated.