No provider of type <File> found Error - Only Occuring In Web App Not Console App (Uses Same Methods, Similar Configuration)

Mar 17, 2010 at 6:41 PM

Hello,
Thanks for all your help and information on RBS.  I have some sample code running in a console application that just runs a method to store data in the database then deletes the added item when the user presses any key after a pause.  That test app is working great, however when I try something similar on an ASP.NET web page in an adjacent project I receive the following error on the line for "blob.WriteFromStream(dataStream)".

Is there something I'm missing about configuring the code to work with a ASP.NET web app?

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

Debug Output: A first chance exception of type 'Microsoft.Data.SqlRemoteBlobs.RemoteBlobConfigurationException' occurred in Microsoft.Data.SqlRemoteBlobs.dll

  • I have checked the references in both projects to ensure I'm including the same related assemblies and I even copied the same imports and methods from the console app to the code behind of the ASP.NET page.
  • In the app.config of the working console app I am not including any specific configurations related to Remote Blob Storage since the machine.config seems to have the settings (in the Framework64 folder since my machine is 64-bit).
  • I have tried running the ASP.NET Web Site with and without any Remote Blob Storage configuration items specified in the Web.Config and I receive the same error.
    • I have tried multiple variations on the following in the Web.Config (from specifiying all to none and uncommeting)
      	<configSections>
      		<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      			<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      				<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
      				<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      					<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
      					<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
      					<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
      					<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
      				</sectionGroup>
      			</sectionGroup>
      		</sectionGroup>
          <!--<sectionGroup name="RemoteBlobStorage" type="System.Configuration.ConfigurationSectionGroup, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
            <section name="Logging" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
            <section name="InstalledVersions" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
            <sectionGroup name="Providers" type="System.Configuration.ConfigurationSectionGroup, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
              <section name="filestream" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
              <section name="file" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
            </sectionGroup>
            <sectionGroup name="ProviderSpecificConfigKeys" type="System.Configuration.ConfigurationSectionGroup, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
              <section name="filestream" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
              <section name="file" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
            </sectionGroup>
          </sectionGroup>-->
        </configSections>
      
      ...
        <!--<RemoteBlobStorage>
          <Logging>
            <add key="ConsoleLog" value="0" />
      
          </Logging>
          <Providers>
            --><!--<filestream>
              <add key="BlobStoreType" value="Filestream" />
              <add key="DllFile" value="C:\Program Files\Microsoft SQL Remote Blob Storage 10.50\Provider Libraries\Filestream Provider\\Microsoft.Data.BlobStores.FilestreamBlobStore.dll" />
              <add key="ClassName" value="Microsoft.Data.BlobStores.FilestreamBlobStore.FilestreamStoreLibrary" />
              <add key="ProviderVersion" value="1.0.0.0" />
              <add key="MinSupportedBackEndStoreVersion" value="1.0.0.0" />
              <add key="BlobStoreAbstractClassVersion" value="10.50.0.0" />
              <add key="EnumerationOptimizationLevelImplemented" value="2" />
              <add key="ConsistencyCheckLevelImplemented" value="2" />
            </filestream>--><!--
            <file>
              <add key="EnumerationOptimizationLevelImplemented" value="1" />
              <add key="ConsistencyCheckLevelImplemented" value="1" />
              <add key="BlobStoreType" value="File" />
              <add key="DllFile" value="C:\Binaries\Microsoft.Data.BlobStores.FileBlobStore.dll" />
              <add key="ClassName" value="Microsoft.Data.BlobStores.FileBlobStore.FileStoreLibrary" />
              <add key="ProviderVersion" value="1.0.0.0" />
              <add key="MinSupportedBackEndStoreVersion" value="1.0.0.0" />
              <add key="BlobStoreAbstractClassVersion" value="10.0.0.0" />
            </file>
          </Providers>
       
        </RemoteBlobStorage>-->
      
  • The SqlRemoteBlobs.dll that is being used in both projects is located at C:\Program Files\Microsoft SQL Remote Blob Storage 10.50\Client Library\Microsoft.Data.SqlRemoteBlobs.dll

Imports of significance:

Imports System.Configuration
Imports System.Web

Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.Data.SqlRemoteBlobs

Imports System
Imports System.Globalization
Imports System.Text
Imports System.IO
Imports System.Threading

Imports System.Transactions
Function that throws error (amostly exactly the same as a sample RBS file store method) when called from an ASP.NET page, e.g. button click, but works fine in a console setting.
    Private Function StoreStreamPull(ByVal connectionString As String) As Guid
        Dim ReturnValue As Guid = Nothing
        Console.WriteLine("Running the Store Stream Pull Sample")

        ' Basic write blob. Uses the default store and default collection.
        '
        Using conn As New SqlConnection(connectionString)
            conn.Open()

            ' Create a stream to read data from. Here this is a memory stream, however it 
            ' could be a FileStream or other .NET Stream class.
            '
            Dim blobData As Byte() = Encoding.Unicode.GetBytes("Remote Blob Storage Sample Application Store Stream Pull Test Data")
            Using dataStream As New MemoryStream(blobData)
                ' Create a blob context to operate againt RBS.
                '
                Dim blobContext As New SqlRemoteBlobContext(conn)

                ' Create a new blob.
                '
                Using blob As SqlRemoteBlob = blobContext.CreateNewBlob()
                    ' Rather than treating the blob as a Stream, here we call a method to 'Pull' the contents 
                    ' of our dataStream into the blob stream.
                    ' This method cannot be combined with calls to the Write() method on the same object.
                    '
                    blob.WriteFromStream(dataStream)

                    ' Commit does not need to be called here as the end of stream marker indicates when 
                    ' data transfer is complete.
                    '

                    ' Once all the data has been written to the blob, the next step is to register the blob 
                    ' with the RBS auxiliary tables and insert the blob into the user application's metadata
                    ' tables. This registration happens automatically when SqlRemoteBlob.GetBlobId is called.
                    ' Make sure this registration and the application insert is wrapped in the same transaction.
                    '
                    Using ts As New TransactionScope(TransactionScopeOption.Required)
                        ' Enlist the connection into the transaction.
                        '
                        conn.EnlistTransaction(Transaction.Current)

                        Console.WriteLine("Created Blob ID: {0}", BitConverter.ToString(blob.GetBlobId()))

                        ' Add a new row including the blob ID to the database table.
                        Dim NewItem As New ResourceForRetrieval
                        NewItem.ApplicationId = System.Guid.NewGuid
                        NewItem.BlobId = blob.GetBlobId
                        Console.WriteLine("Resource For Retrieval: " + NewItem.BlobId.ToString)
                        ReturnValue = ResourceForRetrievalManager.Provider.Add(NewItem)

                        Console.WriteLine("RetrievalId " + ReturnValue.ToString)
                        Console.WriteLine("Added item to database")

                        Console.WriteLine("Blob ID successfully stored in the application sample table.")
                        ts.Complete()
                    End Using

                    ' Success
                    '
                End Using
            End Using
        End Using

        Return ReturnValue
    End Function
Editor
Mar 22, 2010 at 5:00 PM

Hi,

In order to access the provider the application must dynamically load the provider assembly. Depending on your server security settings, loading most assemblies may be blocked, resulting in this error. You should be able to work around that by adding the File provider assembly to the Global Assembly Cache (gacutil.exe /i <path to the file provider assembly>).

Let us know if that resolves the issue.

Mar 22, 2010 at 9:18 PM

Hello MPlaza and SQL Team,

The .dlls are in the GAC, but the error still persists.  I have tried all sorts of permutations of referencing the .dll in the Web.Config (e.g. C:\WINDOWS\assembly\..., \bin\.., bin\..., /bin/..., etc.) as well and the error pops up in the Web project when WriteFromStream is called.

Editor
Mar 22, 2010 at 9:26 PM

In that case, could you take a look in the Windows event log and attach all the RBS errors you see in there?

In order to see these failures in the log you should have Event Log logging level set to at least 4 in the configuration file (<add key="EventViewerLog" value="4" />)

Mar 22, 2010 at 9:50 PM

MPlaza,
Thanks for looking at this.  Here is the output of the Windows Event Log for the last few debug instances:

Using

<add key="DllFile" value="\bin\Microsoft.Data.BlobStores.FileBlobStore.dll" />
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="RBS" /> 
  <EventID Qualifiers="0">25206</EventID> 
  <Level>2</Level> 
  <Task>0</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2010-03-22T20:39:37.000000000Z" /> 
  <EventRecordID>2236</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>AUSB3LFSDEV01.mycompanyname.com</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>Message ID:3, Level:ERR , Process:1624, Thread:4 Exception thrown: Operation: Exception BlobStoreId: 0 Log Time: 3/22/2010 8:39:37 PM Exception: Microsoft.Data.SqlRemoteBlobs.RemoteBlobConfigurationException: No provider of type <File> found. Check the server configuration or install the provider on the client. ExceptionType: Configuration ExceptionCode: ProviderInterfaceNotFound Request Information not set. Session Information not set. Provider Session Information: Provider Session Info: ProviderSession: ProviderSession. Id: <1>, Name: <FileStoreProvider_1>, Type: <File>, StoreVersion: <1.0.0.0>, Location: <L:\RBSFileStoreData\> Extended Configuration:</Data> 
  </EventData>
  </Event>

Using

<add key="DllFile" value="C:\Binaries\Microsoft.Data.BlobStores.FileBlobStore.dll" />
<!-- Error -->
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="RBS" /> 
  <EventID Qualifiers="0">25206</EventID> 
  <Level>2</Level> 
  <Task>0</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2010-03-22T20:43:32.000000000Z" /> 
  <EventRecordID>2239</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>Message ID:3, Level:ERR , Process:1624, Thread:9 Exception thrown: Operation: Exception BlobStoreId: 0 Log Time: 3/22/2010 8:43:32 PM Exception: Microsoft.Data.SqlRemoteBlobs.RemoteBlobConfigurationException: No provider of type <File> found. Check the server configuration or install the provider on the client. ExceptionType: Configuration ExceptionCode: ProviderInterfaceNotFound Request Information not set. Session Information not set. Provider Session Information: Provider Session Info: ProviderSession: ProviderSession. Id: <1>, Name: <FileStoreProvider_1>, Type: <File>, StoreVersion: <1.0.0.0>, Location: <L:\RBSFileStoreData\> Extended Configuration:</Data> 
  </EventData>
  </Event>
<!-- Information -->
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="RBS" /> 
  <EventID Qualifiers="0">3</EventID> 
  <Level>4</Level> 
  <Task>0</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2010-03-22T20:43:31.000000000Z" /> 
  <EventRecordID>2238</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>Message ID:2, Level:, Process:1624, Thread:9 Microsoft SQL Remote Blob Storage Copyright (c) Microsoft Corporation. All rights reserved. Log Provider: Microsoft.Data.BlobStores.EventViewerLog Log Level: Warning Log Group: 45490f34-14d0-41fc-b6e5-8f15cb384f21 Time: 03/22/2010 20:43:31 MachineName: AUSB3LFSDEV01 RBS Version: Microsoft.Data.SqlRemoteBlobs, Version=10.50.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 OS Version: Microsoft Windows NT 6.1.7600.0 CLR Version: 2.0.50727.4927 Processor Count: 1 User: MYCOMPANYNAME\jgill Working Dir: C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE Process ID: 1624 Thread ID: 9 WOW64: True Physical Memory: 4096.00 MB Assembly Version: Microsoft.Data.SqlRemoteBlobs, Version=10.50.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 Assembly Location: C:\Windows\assembly\GAC_MSIL\Microsoft.Data.SqlRemoteBlobs\10.50.0.0__89845dcd8080cc91\Microsoft.Data.SqlRemoteBlobs.dll System Manufacturer: VMware, Inc. System Product Name: VMware Virtual Platform System BIOS Version: 6.00 System BIOS Release Date: 07/22/2008 Running under VM: NonVirtualized Log format prefix key for compact log entries: Message ID : Current System Time : Thread Id : Log Level : Blob Store Id : Request Id : Request Type : Operation : Command Type : Command Id : Message Operation: Startup BlobStoreId: 0 Log Time: 3/22/2010 8:43:31 PM</Data> 
  </EventData>
  </Event>
<!-- Warning -->
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="ASP.NET 2.0.50727.0" /> 
  <EventID Qualifiers="32768">1309</EventID> 
  <Level>3</Level> 
  <Task>3</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2010-03-22T20:42:10.000000000Z" /> 
  <EventRecordID>2237</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>3005</Data> 
  <Data>An unhandled exception has occurred.</Data> 
  <Data>3/22/2010 3:42:10 PM</Data> 
  <Data>3/22/2010 8:42:10 PM</Data> 
  <Data>c9a1c66e8318424ca994cdcae31aa92a</Data> 
  <Data>8</Data> 
  <Data>1</Data> 
  <Data>0</Data> 
  <Data>3262137d-9-129137638834302757</Data> 
  <Data>Full</Data> 
  <Data>/</Data> 
  <Data>C:\Visual Studio Projects\MYCOMPANYNAME.LargeFileStorage\MYCOMPANYNAME.LargeFileStorage.Web\</Data> 
  <Data>AUSB3LFSDEV01</Data> 
  <Data /> 
  <Data>1624</Data> 
  <Data>WebDev.WebServer.exe</Data> 
  <Data>MYCOMPANYNAME\jgill</Data> 
  <Data>RemoteBlobConfigurationException</Data> 
  <Data>No provider of type <File> found. Check the server configuration or install the provider on the client.</Data> 
  <Data>http://localhost:8898/Upload.aspx</Data> 
  <Data>/Upload.aspx</Data> 
  <Data>127.0.0.1</Data> 
  <Data>MYCOMPANYNAME\jgill</Data> 
  <Data>True</Data> 
  <Data>NTLM</Data> 
  <Data>MYCOMPANYNAME\jgill</Data> 
  <Data>4</Data> 
  <Data>MYCOMPANYNAME\jgill</Data> 
  <Data>False</Data> 
  <Data>at Microsoft.Data.SqlRemoteBlobs.ProviderSession.Connect() at Microsoft.Data.SqlRemoteBlobs.RemoteBlobCommand.LocateAndInitializeProvider() at Microsoft.Data.SqlRemoteBlobs.RemoteBlobCommand.ExecuteInternal() at Microsoft.Data.SqlRemoteBlobs.RemoteBlobCommand.Execute() at Microsoft.Data.SqlRemoteBlobs.SqlRemoteBlob.WriteFromStream(Stream inStream) at MYCOMPANYNAME.LargeFileStorage.Web.Upload.StoreStreamPull(String connectionString) in C:\Visual Studio Projects\MYCOMPANYNAME.LargeFileStorage\MYCOMPANYNAME.LargeFileStorage.Web\Upload.aspx.vb:line 62 at MYCOMPANYNAME.LargeFileStorage.Web.Upload.btnUpload_Click(Object sender, EventArgs e) in C:\Visual Studio Projects\MYCOMPANYNAME.LargeFileStorage\MYCOMPANYNAME.LargeFileStorage.Web\Upload.aspx.vb:line 28 at System.Web.UI.WebControls.Button.OnClick(EventArgs e) at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)</Data> 
  </EventData>
  </Event>
Editor
Mar 24, 2010 at 10:43 PM

That's interesting, there doesn't seem to be any error regarding the failure to load the provider. Could you set the log verbosity to 6? With that setting all provider loading attempts should be logged. This will generate more messages, however we are interested only in the ones related to povider initialization (the EventIds that we're interested in are 4 and 93).

Mar 24, 2010 at 11:26 PM

The Event IDs 4 and 93 are not logged when the verbosity is increased to 6.

Here are the messages:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Events><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='Microsoft-Windows-Security-SPP' Guid='{E23B33B0-C8C9-472C-A5F9-F2BDFEA0F156}' EventSourceName='Software Protection Platform Service'/><EventID Qualifiers='16384'>903</EventID><Version>0</Version><Level>0</Level><Task>0</Task><Opcode>0</Opcode><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:15:25.000000000Z'/><EventRecordID>2318</EventRecordID><Correlation/><Execution ProcessID='0' ThreadID='0'/><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='Microsoft-Windows-Security-SPP' Guid='{E23B33B0-C8C9-472C-A5F9-F2BDFEA0F156}' EventSourceName='Software Protection Platform Service'/><EventID Qualifiers='16384'>16384</EventID><Version>0</Version><Level>4</Level><Task>0</Task><Opcode>0</Opcode><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:15:24.000000000Z'/><EventRecordID>2317</EventRecordID><Correlation/><Execution ProcessID='0' ThreadID='0'/><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>2010-03-26T20:50:24Z</Data><Data>GVLK</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>25206</EventID><Level>2</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2316</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:17, Level:ERR , Process:4896, Thread:4
Exception thrown:
Operation: Exception
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
Exception: Microsoft.Data.SqlRemoteBlobs.RemoteBlobConfigurationException: No provider of type &lt;File&gt; found. Check the server configuration or install the provider on the client.
ExceptionType:      Configuration
ExceptionCode:      ProviderInterfaceNotFound
Request Information not set.
Session Information not set.
Provider Session Information:
Provider Session Info:
ProviderSession:         ProviderSession. Id: &lt;1&gt;, Name: &lt;FileStoreProvider_1&gt;, Type: &lt;File&gt;, StoreVersion: &lt;1.0.0.0&gt;, Location: &lt;L:\RBSFileStoreData\&gt;
Extended Configuration: 



</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2315</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:16, Level:DEV , Process:4896, Thread:4
LocateAndInitializeProvider
Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2314</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:15, Level:DEV , Process:4896, Thread:4
Stored Procedure Return code: Success
Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2313</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:14, Level:INFO, Process:4896, Thread:4
Found open pool &lt;BlobDetails: BlobStoreId 1, PoolId 6, StorePoolId 0x3721042fa2b8cf4aa06d6876c1f6afb9, CollectionId 0&gt;
Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2312</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:13, Level:DEV , Process:4896, Thread:4
Adding version check to TSQL Command.
Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2311</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:12, Level:DEV , Process:4896, Thread:4
Database Operation 1
Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2310</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:11, Level:DEV , Process:4896, Thread:4
ParameterChecks for command: StoreBlobCommand    : Request 2   , CheckedConfigVersion: Undefined, RetryNeeded: False, RetryAttempts: 3
BlobDetails: , CollectionId 0
ConfigItemList with 0 items.

Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2309</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:10, Level:INFO, Process:4896, Thread:4
Called SqlRemoteBlob.StoreBlob.
Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>101</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2308</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:9, Level:DEV , Process:4896, Thread:4
A new context object was created.
Operation: CreateSession
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2307</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:8, Level:DEV , Process:4896, Thread:4
Completed Execute
Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2306</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:7, Level:DEV , Process:4896, Thread:4
SetReturnVariables
Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2305</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:6, Level:DEV , Process:4896, Thread:4
Stored Procedure Return code: Success
Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2304</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:5, Level:DEV , Process:4896, Thread:4
Database Operation 1
Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>0</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2303</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:4, Level:DEV , Process:4896, Thread:4
ParameterChecks for command: GetConfigCommand    : Request 1   , CheckedConfigVersion: Undefined, RetryNeeded: False, RetryAttempts: 0
Operation: Unknown
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>101</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2302</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:3, Level:INFO, Process:4896, Thread:4
Called RemoteBlobSession.GetConfig.
Operation: CreateSession
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='RBS'/><EventID Qualifiers='0'>3</EventID><Level>4</Level><Task>0</Task><Keywords>0x80000000000000</Keywords><TimeCreated SystemTime='2010-03-24T22:13:20.000000000Z'/><EventRecordID>2301</EventRecordID><Channel>Application</Channel><Computer>AUSB3LFSDEV01.MYCOMPANYNAME.com</Computer><Security/></System><EventData><Data>Message ID:2, Level:, Process:4896, Thread:4
Microsoft SQL Remote Blob Storage
Copyright (c) Microsoft Corporation.  All rights reserved.

Log Provider:	Microsoft.Data.BlobStores.EventViewerLog
Log Level:	Developer
Log Group:	4bb77ca4-94d1-47cc-9eac-7ae312861f9c
Time:		03/24/2010 22:13:20
MachineName:	AUSB3LFSDEV01
RBS Version:	Microsoft.Data.SqlRemoteBlobs, Version=10.50.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
OS Version:	Microsoft Windows NT 6.1.7600.0
CLR Version:	2.0.50727.4927
Processor Count:	1
User:		MYCOMPANYNAME\jgill
Working Dir:	C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE
Process ID:	4896
Thread ID:	4
WOW64:	True
Physical Memory:	4096.00 MB
Assembly Version:	Microsoft.Data.SqlRemoteBlobs, Version=10.50.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Assembly Location:
C:\Windows\assembly\GAC_MSIL\Microsoft.Data.SqlRemoteBlobs\10.50.0.0__89845dcd8080cc91\Microsoft.Data.SqlRemoteBlobs.dll
System Manufacturer:	VMware, Inc.
System Product Name:	VMware Virtual Platform
System BIOS Version:	6.00
System BIOS Release Date:	07/22/2008
Running under VM:	NonVirtualized

Log format prefix key for compact log entries:
Message ID : Current System Time : Thread Id : Log Level : Blob Store Id : Request Id : Request Type : Operation : Command Type : Command Id : Message

Operation: Startup
BlobStoreId: 0
Log Time: 3/24/2010 10:13:20 PM
</Data></EventData></Event>
  </Events>
Editor
Mar 25, 2010 at 12:33 AM

That's true, there is no information about any attempt to load any provider, which seems to point to the fact that the app doesn't see the right configuation. Is the output the same even if you uncomment the sections you mentioned in the original message?

Mar 25, 2010 at 1:26 AM

Hello,

The output in the previous post is actually the output when the commented sections in the web.config excerpts above are uncommented.  I can try to view the event log again with the sections commented to see what the difference is.

Is there any way a blog posting , documentation sample could be posted that shows how to get the sample provider to work in a web project/application? If that is done then the issue(s) above will likely go away and the problem will be addressed for multiple people.

I can get providers to work fine in console apps, test projects (that are not web based), etc. (in this scenario the config data is just in the machine.config)...but as soon as I create an ASP.NET Web Site project and try to get it to work with the provider(s) then I run into this issue.  I try to mimick the machine.config settings in the web.config adjusting paths to the provider .dlls, but to no avail.

Editor
Apr 1, 2010 at 10:12 PM

I have checked that RBS takes the provider configuration only from the machine.config file, so any changes in web.config should not affect the behavior. This means that for some reason the ASP.NET application can't read the configuration from machine.config.

I'm not sure what exactly may be the reason for that, but a few possibilities that come to my mind are:

  • Some security settings prevent the access
  • ASP.NET is run in a 32-bit environment, reading a different machine.config
  • ASP.NET uses a different version of CLR, which may use its own machine.config

The first step you may want to try is to identify other machine.config files on the machine and add the RBS configuration to them.

May 16, 2010 at 4:46 PM

I had the same message, it was a simple config file mistake. The FileProviderConfiguration.xml was incorrect... Ensure that your BlobStoreType, DllFile and ClassName entried are all correct.