Microsoft SQL Server 2012 and custom RBS

Jun 25, 2013 at 10:26 PM
Edited Jun 25, 2013 at 10:27 PM

I am trying to implement custom RBS provider for SQL Server 2012. Could I use .NET framework 4.5 to implement it?

I tried to make custom Microsoft.Data.BlobStores.BlobStore class implementation based on .NET Framework 4.5. But when I am trying to register it for using with SQL Server 2012 I am getting error:

No provider of type <File> found. Check the server configuration or install the provider on the client.

Provider from samples works fine.
This is because of .NET Framework 4.5, isn't it? Are there any ways to make it works?
Jun 25, 2013 at 11:07 PM

It should work with .Net 4.5. If you have any other providers installed previously, that can possible cause this. Please check that you don't have any. If you do, all of these should be in a single machine.config.

Jun 26, 2013 at 12:16 AM
I tried this one.
  1. Check that there is nothing about Blob storage providers in machine.config files (both in v2.0.50727 and v4.0.30319) folder.
  2. Build my RBS provider under .NET framework 3.5 (I previously removed all 4.5 Framework specific features).
  3. Install RBS provider using installation program from example source code.
  4. Check that RBS config was added to v2.0.50727 machine.config and was not to v4.0.30319.
  5. Run test cases – works fine.
  6. Totally removed RBS provider. Check that there are no <RemoteBlobStorage> tags on any machine.config files.
  7. Build project using .NET framework 4.5 (no changes in source code).
  8. Setup using the same installation util (also build under 4.5 framework).
  9. After that v4.0.30319 machine.config contains my RBS library configuration (and no other so there is only one in the system) and v2.0.50727 has nothing about RBS configuration
  10. Test cases return error:
_Exception: Microsoft.Data.SqlRemoteBlobs.RemoteBlobConfigurationException: No provider of type <XArchive.xRBS> found. Check the server configuration or install the provider on the client.
ExceptionType: Configuration
ExceptionCode: ProviderInterfaceNotFound
Request Information not set.
Session Information not set._

What else should I check?
Thanks a lot for your help
Jun 26, 2013 at 9:03 AM
One more thing.

I firstly install RBS pack version (from MSSQL 2008). After I read that it can’t work with .NET version > 3.5 I removed it using *.msi installer and installed v I also changed dll referenced in my test application to v.11. Could something left in configuration files or registry from v 10.50 and cause this problem?

I tried building my application using .NET 4.0 and 4.5 with different CPU platforms. I also switched off UAC and tried to sing my dll and place it to GAC. It is still not working under .NET >3.5 and works perfectly with lover .NET versions without any changes in source code or installation util.