Monday, March 19, 2012

Data Processing Extension for ADO.NET?

Is there a data processing extension for use with an ADO.NET provider? MSDN
lists ones for SQL Server, OLEDB, Oracle, and ODBC.. ADO.NET is a glaring
omission.
The extension interfaces (IDbConnection, etc) are all similar to ADO.NET's.
I could write a pretty thin custom extension wrapper around an ADO.NET
provider, but why should I have to?Ah, it says you can use a .NET data provider directly from Reporting
Services, without a data processing extension. However, how do you let
Reporting Services know about your provider?
"Daniel Michaeloff" wrote:
> Is there a data processing extension for use with an ADO.NET provider? MSDN
> lists ones for SQL Server, OLEDB, Oracle, and ODBC.. ADO.NET is a glaring
> omission.
> The extension interfaces (IDbConnection, etc) are all similar to ADO.NET's.
> I could write a pretty thin custom extension wrapper around an ADO.NET
> provider, but why should I have to?|||When using a managed provider, you can either use it directly or write a
custom data extension which internally uses the provider. In general you can
use most .NET data providers (which implement System.Data.IDBConnection,
etc.). A .NET data provider would need to be registered in both,
rsReportDesigner.config and rsReportServer.config.
Lets assume your .NET provider has the assembly name "MyAssembly" and the
actual class that implements IDBConnection is called
"MyAssembly.MyConnection". Here is how you would register it:
* RSReportServer.config:
<Extension Name="MyProvider"
Type="MyAssembly.MyConnection,MyAssembly"/>
* RSReportDesigner.config
The registration for report designer would need to happen in two places - in
the <Data> section and in the <Designer> section.
<Data>
...
<Extension Name="MyProvider"
Type="MyAssembly.MyConnection,MyAssembly"/>
</Data>
<Designer>
...
<Extension Name="MyProvider"
Type="MyAssembly.MyConnection,MyAssembly"/>
</Designer>
After registering, you will get a new entry "MyProvider" in the data source
type drop-down list.
See also:
http://msdn.microsoft.com/library/en-us/RSPROG/htm/rsp_prog_extend_dataproc_8iqq.asp
Robert M. Bruckner
Microsoft SQL Server Reporting Services
This posting is provided "AS IS" with no warranties, and confers no rights.
"Daniel Michaeloff" <DanielMichaeloff@.discussions.microsoft.com> wrote in
message news:BD89B815-BC0E-4ABD-9A36-07F7B31A303B@.microsoft.com...
> Is there a data processing extension for use with an ADO.NET provider?
> MSDN
> lists ones for SQL Server, OLEDB, Oracle, and ODBC.. ADO.NET is a glaring
> omission.
> The extension interfaces (IDbConnection, etc) are all similar to
> ADO.NET's.
> I could write a pretty thin custom extension wrapper around an ADO.NET
> provider, but why should I have to?|||Correction to my posting below - the <Designer> element in
RSReportDesigner.config should have the following contents:
<Designer>
...
<Extension Name="MyProvider"
Type="Microsoft.ReportDesigner.Design.GQDQueryDesigner,Microsoft.ReportingServices.Designer"/>
</Designer>
--
This posting is provided "AS IS" with no warranties, and confers no rights.
"Robert Bruckner [MSFT]" <robruc@.online.microsoft.com> wrote in message
news:%23qgs5sXXFHA.3280@.TK2MSFTNGP09.phx.gbl...
> When using a managed provider, you can either use it directly or write a
> custom data extension which internally uses the provider. In general you
> can use most .NET data providers (which implement
> System.Data.IDBConnection, etc.). A .NET data provider would need to be
> registered in both, rsReportDesigner.config and rsReportServer.config.
> Lets assume your .NET provider has the assembly name "MyAssembly" and the
> actual class that implements IDBConnection is called
> "MyAssembly.MyConnection". Here is how you would register it:
> * RSReportServer.config:
> <Extension Name="MyProvider"
> Type="MyAssembly.MyConnection,MyAssembly"/>
> * RSReportDesigner.config
> The registration for report designer would need to happen in two places -
> in the <Data> section and in the <Designer> section.
> <Data>
> ...
> <Extension Name="MyProvider"
> Type="MyAssembly.MyConnection,MyAssembly"/>
> </Data>
> <Designer>
> ...
> <Extension Name="MyProvider"
> Type="MyAssembly.MyConnection,MyAssembly"/>
> </Designer>
> After registering, you will get a new entry "MyProvider" in the data
> source type drop-down list.
> See also:
> http://msdn.microsoft.com/library/en-us/RSPROG/htm/rsp_prog_extend_dataproc_8iqq.asp
>
> --
> Robert M. Bruckner
> Microsoft SQL Server Reporting Services
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>
> "Daniel Michaeloff" <DanielMichaeloff@.discussions.microsoft.com> wrote in
> message news:BD89B815-BC0E-4ABD-9A36-07F7B31A303B@.microsoft.com...
>> Is there a data processing extension for use with an ADO.NET provider?
>> MSDN
>> lists ones for SQL Server, OLEDB, Oracle, and ODBC.. ADO.NET is a glaring
>> omission.
>> The extension interfaces (IDbConnection, etc) are all similar to
>> ADO.NET's.
>> I could write a pretty thin custom extension wrapper around an ADO.NET
>> provider, but why should I have to?
>|||Thanks Robert, this is what I needed.
However, is there a way to avoid putting our provider assemblies in the
global assembly cache?
"Robert Bruckner [MSFT]" wrote:
> Correction to my posting below - the <Designer> element in
> RSReportDesigner.config should have the following contents:
> <Designer>
> ...
> <Extension Name="MyProvider"
> Type="Microsoft.ReportDesigner.Design.GQDQueryDesigner,Microsoft.ReportingServices.Designer"/>
> </Designer>
> --
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
> "Robert Bruckner [MSFT]" <robruc@.online.microsoft.com> wrote in message
> news:%23qgs5sXXFHA.3280@.TK2MSFTNGP09.phx.gbl...
> > When using a managed provider, you can either use it directly or write a
> > custom data extension which internally uses the provider. In general you
> > can use most .NET data providers (which implement
> > System.Data.IDBConnection, etc.). A .NET data provider would need to be
> > registered in both, rsReportDesigner.config and rsReportServer.config.
> >
> > Lets assume your .NET provider has the assembly name "MyAssembly" and the
> > actual class that implements IDBConnection is called
> > "MyAssembly.MyConnection". Here is how you would register it:
> > * RSReportServer.config:
> > <Extension Name="MyProvider"
> > Type="MyAssembly.MyConnection,MyAssembly"/>
> >
> > * RSReportDesigner.config
> > The registration for report designer would need to happen in two places -
> > in the <Data> section and in the <Designer> section.
> >
> > <Data>
> > ...
> > <Extension Name="MyProvider"
> > Type="MyAssembly.MyConnection,MyAssembly"/>
> > </Data>
> > <Designer>
> > ...
> > <Extension Name="MyProvider"
> > Type="MyAssembly.MyConnection,MyAssembly"/>
> > </Designer>
> >
> > After registering, you will get a new entry "MyProvider" in the data
> > source type drop-down list.
> >
> > See also:
> > http://msdn.microsoft.com/library/en-us/RSPROG/htm/rsp_prog_extend_dataproc_8iqq.asp
> >
> >
> > --
> > Robert M. Bruckner
> > Microsoft SQL Server Reporting Services
> > This posting is provided "AS IS" with no warranties, and confers no
> > rights.
> >
> >
> >
> > "Daniel Michaeloff" <DanielMichaeloff@.discussions.microsoft.com> wrote in
> > message news:BD89B815-BC0E-4ABD-9A36-07F7B31A303B@.microsoft.com...
> >> Is there a data processing extension for use with an ADO.NET provider?
> >> MSDN
> >> lists ones for SQL Server, OLEDB, Oracle, and ODBC.. ADO.NET is a glaring
> >> omission.
> >>
> >> The extension interfaces (IDbConnection, etc) are all similar to
> >> ADO.NET's.
> >> I could write a pretty thin custom extension wrapper around an ADO.NET
> >> provider, but why should I have to?
> >
> >
>
>|||Actually, I'm not getting Report Designer to pick up my assembly from the
GAC, and I don't see anything like "Microsoft.ReportingServices" in the GAC
either. I've also tried dropping my dll in Report Designer's main directory.
Where does Report Designer / Reporting Services look for extensions?
"Daniel Michaeloff" wrote:
> Thanks Robert, this is what I needed.
> However, is there a way to avoid putting our provider assemblies in the
> global assembly cache?
> "Robert Bruckner [MSFT]" wrote:
> > Correction to my posting below - the <Designer> element in
> > RSReportDesigner.config should have the following contents:
> >
> > <Designer>
> > ...
> > <Extension Name="MyProvider"
> > Type="Microsoft.ReportDesigner.Design.GQDQueryDesigner,Microsoft.ReportingServices.Designer"/>
> > </Designer>
> >
> > --
> > This posting is provided "AS IS" with no warranties, and confers no rights.
> >
> >
> > "Robert Bruckner [MSFT]" <robruc@.online.microsoft.com> wrote in message
> > news:%23qgs5sXXFHA.3280@.TK2MSFTNGP09.phx.gbl...
> > > When using a managed provider, you can either use it directly or write a
> > > custom data extension which internally uses the provider. In general you
> > > can use most .NET data providers (which implement
> > > System.Data.IDBConnection, etc.). A .NET data provider would need to be
> > > registered in both, rsReportDesigner.config and rsReportServer.config.
> > >
> > > Lets assume your .NET provider has the assembly name "MyAssembly" and the
> > > actual class that implements IDBConnection is called
> > > "MyAssembly.MyConnection". Here is how you would register it:
> > > * RSReportServer.config:
> > > <Extension Name="MyProvider"
> > > Type="MyAssembly.MyConnection,MyAssembly"/>
> > >
> > > * RSReportDesigner.config
> > > The registration for report designer would need to happen in two places -
> > > in the <Data> section and in the <Designer> section.
> > >
> > > <Data>
> > > ...
> > > <Extension Name="MyProvider"
> > > Type="MyAssembly.MyConnection,MyAssembly"/>
> > > </Data>
> > > <Designer>
> > > ...
> > > <Extension Name="MyProvider"
> > > Type="MyAssembly.MyConnection,MyAssembly"/>
> > > </Designer>
> > >
> > > After registering, you will get a new entry "MyProvider" in the data
> > > source type drop-down list.
> > >
> > > See also:
> > > http://msdn.microsoft.com/library/en-us/RSPROG/htm/rsp_prog_extend_dataproc_8iqq.asp
> > >
> > >
> > > --
> > > Robert M. Bruckner
> > > Microsoft SQL Server Reporting Services
> > > This posting is provided "AS IS" with no warranties, and confers no
> > > rights.
> > >
> > >
> > >
> > > "Daniel Michaeloff" <DanielMichaeloff@.discussions.microsoft.com> wrote in
> > > message news:BD89B815-BC0E-4ABD-9A36-07F7B31A303B@.microsoft.com...
> > >> Is there a data processing extension for use with an ADO.NET provider?
> > >> MSDN
> > >> lists ones for SQL Server, OLEDB, Oracle, and ODBC.. ADO.NET is a glaring
> > >> omission.
> > >>
> > >> The extension interfaces (IDbConnection, etc) are all similar to
> > >> ADO.NET's.
> > >> I could write a pretty thin custom extension wrapper around an ADO.NET
> > >> provider, but why should I have to?
> > >
> > >
> >
> >
> >|||Okay, I tried actually following that link you gave. Sorry.
"Daniel Michaeloff" wrote:
> Actually, I'm not getting Report Designer to pick up my assembly from the
> GAC, and I don't see anything like "Microsoft.ReportingServices" in the GAC
> either. I've also tried dropping my dll in Report Designer's main directory.
> Where does Report Designer / Reporting Services look for extensions?
> "Daniel Michaeloff" wrote:
> > Thanks Robert, this is what I needed.
> >
> > However, is there a way to avoid putting our provider assemblies in the
> > global assembly cache?
> >
> > "Robert Bruckner [MSFT]" wrote:
> >
> > > Correction to my posting below - the <Designer> element in
> > > RSReportDesigner.config should have the following contents:
> > >
> > > <Designer>
> > > ...
> > > <Extension Name="MyProvider"
> > > Type="Microsoft.ReportDesigner.Design.GQDQueryDesigner,Microsoft.ReportingServices.Designer"/>
> > > </Designer>
> > >
> > > --
> > > This posting is provided "AS IS" with no warranties, and confers no rights.
> > >
> > >
> > > "Robert Bruckner [MSFT]" <robruc@.online.microsoft.com> wrote in message
> > > news:%23qgs5sXXFHA.3280@.TK2MSFTNGP09.phx.gbl...
> > > > When using a managed provider, you can either use it directly or write a
> > > > custom data extension which internally uses the provider. In general you
> > > > can use most .NET data providers (which implement
> > > > System.Data.IDBConnection, etc.). A .NET data provider would need to be
> > > > registered in both, rsReportDesigner.config and rsReportServer.config.
> > > >
> > > > Lets assume your .NET provider has the assembly name "MyAssembly" and the
> > > > actual class that implements IDBConnection is called
> > > > "MyAssembly.MyConnection". Here is how you would register it:
> > > > * RSReportServer.config:
> > > > <Extension Name="MyProvider"
> > > > Type="MyAssembly.MyConnection,MyAssembly"/>
> > > >
> > > > * RSReportDesigner.config
> > > > The registration for report designer would need to happen in two places -
> > > > in the <Data> section and in the <Designer> section.
> > > >
> > > > <Data>
> > > > ...
> > > > <Extension Name="MyProvider"
> > > > Type="MyAssembly.MyConnection,MyAssembly"/>
> > > > </Data>
> > > > <Designer>
> > > > ...
> > > > <Extension Name="MyProvider"
> > > > Type="MyAssembly.MyConnection,MyAssembly"/>
> > > > </Designer>
> > > >
> > > > After registering, you will get a new entry "MyProvider" in the data
> > > > source type drop-down list.
> > > >
> > > > See also:
> > > > http://msdn.microsoft.com/library/en-us/RSPROG/htm/rsp_prog_extend_dataproc_8iqq.asp
> > > >
> > > >
> > > > --
> > > > Robert M. Bruckner
> > > > Microsoft SQL Server Reporting Services
> > > > This posting is provided "AS IS" with no warranties, and confers no
> > > > rights.
> > > >
> > > >
> > > >
> > > > "Daniel Michaeloff" <DanielMichaeloff@.discussions.microsoft.com> wrote in
> > > > message news:BD89B815-BC0E-4ABD-9A36-07F7B31A303B@.microsoft.com...
> > > >> Is there a data processing extension for use with an ADO.NET provider?
> > > >> MSDN
> > > >> lists ones for SQL Server, OLEDB, Oracle, and ODBC.. ADO.NET is a glaring
> > > >> omission.
> > > >>
> > > >> The extension interfaces (IDbConnection, etc) are all similar to
> > > >> ADO.NET's.
> > > >> I could write a pretty thin custom extension wrapper around an ADO.NET
> > > >> provider, but why should I have to?
> > > >
> > > >
> > >
> > >
> > >

No comments:

Post a Comment