Skip to content

Commit c1bb66c

Browse files
* sync 6/2/2022 version: 2022.2.11
1 parent 2937861 commit c1bb66c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+3584
-666
lines changed

Demos/Reports/Chart.frx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<Report ScriptLanguage="CSharp" ReportInfo.Description="This report demonstrates MSChartObject features." ReportInfo.Created="06/14/2009 20:37:10" ReportInfo.Modified="09/25/2015 10:40:45" ReportInfo.CreatorVersion="1.0.0.0">
2+
<Report ScriptLanguage="CSharp" ReportInfo.Description="This report demonstrates MSChartObject features." ReportInfo.Created="06/14/2009 20:37:10" ReportInfo.Modified="05/17/2022 13:21:36" ReportInfo.CreatorVersion="1.0.0.0">
33
<Dictionary/>
4-
<ReportPage Name="Page1">
4+
<ReportPage Name="Page1" Watermark.Font="Arial, 60pt">
55
<ReportTitleBand Name="ReportTitle1" Width="718.2" Height="75.6" CanGrow="true">
66
<TextObject Name="Text29" Width="718.2" Height="28.35" Anchor="Top, Left, Right" Fill.Color="WhiteSmoke" CanGrow="true" Text="[Report.ReportInfo.Description]" Padding="4, 4, 4, 4" VertAlign="Center" Font="Tahoma, 8pt"/>
77
<TextObject Name="Text30" Top="37.8" Width="718.2" Height="37.8" Text="MSChartObject" HorzAlign="Center" VertAlign="Center" Font="Tahoma, 14pt, style=Bold"/>
@@ -39,7 +39,7 @@
3939
<MSChartSeries Name="Series9"/>
4040
<MSChartSeries Name="Series9"/>
4141
</MSChartObject>
42-
<MSChartObject Name="MSChart10" Left="236.25" Top="746.55" Width="255.15" Height="189" ChartData="PENoYXJ0IEJvcmRlcmxpbmVDb2xvcj0iVHJhbnNwYXJlbnQiIEJvcmRlcmxpbmVXaWR0aD0iMiIgQm9yZGVybGluZURhc2hTdHlsZT0iU29saWQiPg0KICA8U2VyaWVzPg0KICAgIDxTZXJpZXMgTmFtZT0iU2VyaWVzMSIgTGVnZW5kPSJEZWZhdWx0IiBYVmFsdWVUeXBlPSJTdHJpbmciIFlWYWx1ZVR5cGU9IkRvdWJsZSIgQ2hhcnRUeXBlPSJEb3VnaG51dCIgQ2hhcnRBcmVhPSJEZWZhdWx0IiBDdXN0b21Qcm9wZXJ0aWVzPSJEb3VnaG51dFJhZGl1cz03MywgUGllTGFiZWxTdHlsZT1PdXRzaWRlLCBQaWVEcmF3aW5nU3R5bGU9Q29uY2F2ZSI+DQogICAgICA8UG9pbnRzPg0KICAgICAgICA8RGF0YVBvaW50IFlWYWx1ZXM9IjEiIEF4aXNMYWJlbD0iQSIgLz4NCiAgICAgICAgPERhdGFQb2ludCBZVmFsdWVzPSIyIiBBeGlzTGFiZWw9IkIiIC8+DQogICAgICAgIDxEYXRhUG9pbnQgWVZhbHVlcz0iMyIgQXhpc0xhYmVsPSJDIiAvPg0KICAgICAgICA8RGF0YVBvaW50IFlWYWx1ZXM9IjQiIEF4aXNMYWJlbD0iRCIgLz4NCiAgICAgICAgPERhdGFQb2ludCBZVmFsdWVzPSI1IiBBeGlzTGFiZWw9IkUiIC8+DQogICAgICAgIDxEYXRhUG9pbnQgWVZhbHVlcz0iNiIgQXhpc0xhYmVsPSJGIiAvPg0KICAgICAgICA8RGF0YVBvaW50IFlWYWx1ZXM9IjciIEF4aXNMYWJlbD0iRyIgLz4NCiAgICAgIDwvUG9pbnRzPg0KICAgIDwvU2VyaWVzPg0KICA8L1Nlcmllcz4NCiAgPExlZ2VuZHM+DQogICAgPExlZ2VuZCBOYW1lPSJEZWZhdWx0IiBFbmFibGVkPSJGYWxzZSIgSXNUZXh0QXV0b0ZpdD0iRmFsc2UiIEZvbnQ9IlRhaG9tYSwgOHB0Ij4NCiAgICA8L0xlZ2VuZD4NCiAgPC9MZWdlbmRzPg0KICA8VGl0bGVzPg0KICAgIDxUaXRsZSBOYW1lPSJUaXRsZTEiIFZpc2libGU9IkZhbHNlIiBGb250PSJUYWhvbWEsIDEwcHQsIHN0eWxlPUJvbGQiPg0KICAgIDwvVGl0bGU+DQogIDwvVGl0bGVzPg0KICA8Q2hhcnRBcmVhcz4NCiAgICA8Q2hhcnRBcmVhIE5hbWU9IkRlZmF1bHQiPg0KICAgICAgPEF4aXNZIElzTGFiZWxBdXRvRml0PSJGYWxzZSI+DQogICAgICAgIDxNYWpvckdyaWQgTGluZUNvbG9yPSI2NCwgNjQsIDY0LCA2NCIgLz4NCiAgICAgICAgPExhYmVsU3R5bGUgRm9udD0iVGFob21hLCA4cHQiIC8+DQogICAgICA8L0F4aXNZPg0KICAgICAgPEF4aXNYIElzTGFiZWxBdXRvRml0PSJGYWxzZSI+DQogICAgICAgIDxNYWpvckdyaWQgTGluZUNvbG9yPSI2NCwgNjQsIDY0LCA2NCIgLz4NCiAgICAgICAgPExhYmVsU3R5bGUgRm9udD0iVGFob21hLCA4cHQiIC8+DQogICAgICA8L0F4aXNYPg0KICAgICAgPEF4aXNYMiBJc0xhYmVsQXV0b0ZpdD0iRmFsc2UiPg0KICAgICAgICA8TWFqb3JHcmlkIExpbmVDb2xvcj0iNjQsIDY0LCA2NCwgNjQiIC8+DQogICAgICAgIDxMYWJlbFN0eWxlIEZvbnQ9IlRhaG9tYSwgOHB0IiAvPg0KICAgICAgPC9BeGlzWDI+DQogICAgICA8QXhpc1kyIElzTGFiZWxBdXRvRml0PSJGYWxzZSI+DQogICAgICAgIDxNYWpvckdyaWQgTGluZUNvbG9yPSI2NCwgNjQsIDY0LCA2NCIgLz4NCiAgICAgICAgPExhYmVsU3R5bGUgRm9udD0iVGFob21hLCA4cHQiIC8+DQogICAgICA8L0F4aXNZMj4NCiAgICAgIDxBcmVhM0RTdHlsZSBFbmFibGUzRD0iVHJ1ZSIgSXNSaWdodEFuZ2xlQXhlcz0iRmFsc2UiIExpZ2h0U3R5bGU9IlJlYWxpc3RpYyIgSW5jbGluYXRpb249IjQ2IiBSb3RhdGlvbj0iNiIgV2FsbFdpZHRoPSIzMCIgLz4NCiAgICA8L0NoYXJ0QXJlYT4NCiAgPC9DaGFydEFyZWFzPg0KPC9DaGFydD4=">
42+
<MSChartObject Name="MSChart10" Left="255.15" Top="774.9" Width="236.25" Height="151.2" ChartData="PENoYXJ0IEJvcmRlcmxpbmVDb2xvcj0iVHJhbnNwYXJlbnQiIEJvcmRlcmxpbmVXaWR0aD0iMiIgQm9yZGVybGluZURhc2hTdHlsZT0iU29saWQiPg0KICA8U2VyaWVzPg0KICAgIDxTZXJpZXMgTmFtZT0iU2VyaWVzMSIgTGVnZW5kPSJEZWZhdWx0IiBYVmFsdWVUeXBlPSJTdHJpbmciIFlWYWx1ZVR5cGU9IkRvdWJsZSIgQ2hhcnRUeXBlPSJEb3VnaG51dCIgQ2hhcnRBcmVhPSJEZWZhdWx0IiBDdXN0b21Qcm9wZXJ0aWVzPSJEb3VnaG51dFJhZGl1cz03MywgUGllTGFiZWxTdHlsZT1PdXRzaWRlLCBQaWVEcmF3aW5nU3R5bGU9Q29uY2F2ZSI+DQogICAgICA8UG9pbnRzPg0KICAgICAgICA8RGF0YVBvaW50IFlWYWx1ZXM9IjEiIEF4aXNMYWJlbD0iQSIgLz4NCiAgICAgICAgPERhdGFQb2ludCBZVmFsdWVzPSIyIiBBeGlzTGFiZWw9IkIiIC8+DQogICAgICAgIDxEYXRhUG9pbnQgWVZhbHVlcz0iMyIgQXhpc0xhYmVsPSJDIiAvPg0KICAgICAgICA8RGF0YVBvaW50IFlWYWx1ZXM9IjQiIEF4aXNMYWJlbD0iRCIgLz4NCiAgICAgICAgPERhdGFQb2ludCBZVmFsdWVzPSI1IiBBeGlzTGFiZWw9IkUiIC8+DQogICAgICAgIDxEYXRhUG9pbnQgWVZhbHVlcz0iNiIgQXhpc0xhYmVsPSJGIiAvPg0KICAgICAgICA8RGF0YVBvaW50IFlWYWx1ZXM9IjciIEF4aXNMYWJlbD0iRyIgLz4NCiAgICAgIDwvUG9pbnRzPg0KICAgIDwvU2VyaWVzPg0KICA8L1Nlcmllcz4NCiAgPExlZ2VuZHM+DQogICAgPExlZ2VuZCBOYW1lPSJEZWZhdWx0IiBFbmFibGVkPSJGYWxzZSIgSXNUZXh0QXV0b0ZpdD0iRmFsc2UiIEZvbnQ9IlRhaG9tYSwgOHB0Ij4NCiAgICA8L0xlZ2VuZD4NCiAgPC9MZWdlbmRzPg0KICA8VGl0bGVzPg0KICAgIDxUaXRsZSBOYW1lPSJUaXRsZTEiIFZpc2libGU9IkZhbHNlIiBGb250PSJUYWhvbWEsIDEwcHQsIHN0eWxlPUJvbGQiPg0KICAgIDwvVGl0bGU+DQogIDwvVGl0bGVzPg0KICA8Q2hhcnRBcmVhcz4NCiAgICA8Q2hhcnRBcmVhIE5hbWU9IkRlZmF1bHQiPg0KICAgICAgPEF4aXNZIElzTGFiZWxBdXRvRml0PSJGYWxzZSI+DQogICAgICAgIDxNYWpvckdyaWQgTGluZUNvbG9yPSI2NCwgNjQsIDY0LCA2NCIgLz4NCiAgICAgICAgPExhYmVsU3R5bGUgRm9udD0iVGFob21hLCA4cHQiIC8+DQogICAgICA8L0F4aXNZPg0KICAgICAgPEF4aXNYIElzTGFiZWxBdXRvRml0PSJGYWxzZSI+DQogICAgICAgIDxNYWpvckdyaWQgTGluZUNvbG9yPSI2NCwgNjQsIDY0LCA2NCIgLz4NCiAgICAgICAgPExhYmVsU3R5bGUgRm9udD0iVGFob21hLCA4cHQiIC8+DQogICAgICA8L0F4aXNYPg0KICAgICAgPEF4aXNYMiBJc0xhYmVsQXV0b0ZpdD0iRmFsc2UiPg0KICAgICAgICA8TWFqb3JHcmlkIExpbmVDb2xvcj0iNjQsIDY0LCA2NCwgNjQiIC8+DQogICAgICAgIDxMYWJlbFN0eWxlIEZvbnQ9IlRhaG9tYSwgOHB0IiAvPg0KICAgICAgPC9BeGlzWDI+DQogICAgICA8QXhpc1kyIElzTGFiZWxBdXRvRml0PSJGYWxzZSI+DQogICAgICAgIDxNYWpvckdyaWQgTGluZUNvbG9yPSI2NCwgNjQsIDY0LCA2NCIgLz4NCiAgICAgICAgPExhYmVsU3R5bGUgRm9udD0iVGFob21hLCA4cHQiIC8+DQogICAgICA8L0F4aXNZMj4NCiAgICAgIDxBcmVhM0RTdHlsZSBFbmFibGUzRD0iVHJ1ZSIgSXNSaWdodEFuZ2xlQXhlcz0iRmFsc2UiIExpZ2h0U3R5bGU9IlJlYWxpc3RpYyIgSW5jbGluYXRpb249IjQ2IiBSb3RhdGlvbj0iNiIgV2FsbFdpZHRoPSIzMCIgLz4NCiAgICA8L0NoYXJ0QXJlYT4NCiAgPC9DaGFydEFyZWFzPg0KPC9DaGFydD4=">
4343
<MSChartSeries Name="Series11"/>
4444
</MSChartObject>
4545
<MSChartObject Name="MSChart11" Left="9.45" Top="595.35" Width="226.8" Height="160.65" ChartData="PENoYXJ0IEJvcmRlcmxpbmVDb2xvcj0iVHJhbnNwYXJlbnQiIEJvcmRlcmxpbmVXaWR0aD0iMiIgQm9yZGVybGluZURhc2hTdHlsZT0iU29saWQiPg0KICA8U2VyaWVzPg0KICAgIDxTZXJpZXMgTmFtZT0iU2VyaWVzMSIgTGVnZW5kPSJEZWZhdWx0IiBYVmFsdWVUeXBlPSJTdHJpbmciIFlWYWx1ZVR5cGU9IkRvdWJsZSIgQ2hhcnRBcmVhPSJEZWZhdWx0Ij4NCiAgICAgIDxQb2ludHM+DQogICAgICAgIDxEYXRhUG9pbnQgWVZhbHVlcz0iMSIgQXhpc0xhYmVsPSJBIiAvPg0KICAgICAgICA8RGF0YVBvaW50IFlWYWx1ZXM9IjIiIEF4aXNMYWJlbD0iQiIgLz4NCiAgICAgICAgPERhdGFQb2ludCBZVmFsdWVzPSIzIiBBeGlzTGFiZWw9IkMiIC8+DQogICAgICA8L1BvaW50cz4NCiAgICA8L1Nlcmllcz4NCiAgICA8U2VyaWVzIE5hbWU9IlNlcmllczIiIExlZ2VuZD0iRGVmYXVsdCIgWFZhbHVlVHlwZT0iU3RyaW5nIiBZVmFsdWVUeXBlPSJEb3VibGUiIENoYXJ0QXJlYT0iRGVmYXVsdCI+DQogICAgICA8UG9pbnRzPg0KICAgICAgICA8RGF0YVBvaW50IFlWYWx1ZXM9IjIiIEF4aXNMYWJlbD0iQSIgLz4NCiAgICAgICAgPERhdGFQb2ludCBZVmFsdWVzPSIzIiBBeGlzTGFiZWw9IkIiIC8+DQogICAgICAgIDxEYXRhUG9pbnQgWVZhbHVlcz0iMiIgQXhpc0xhYmVsPSJDIiAvPg0KICAgICAgPC9Qb2ludHM+DQogICAgPC9TZXJpZXM+DQogIDwvU2VyaWVzPg0KICA8TGVnZW5kcz4NCiAgICA8TGVnZW5kIE5hbWU9IkRlZmF1bHQiIEVuYWJsZWQ9IkZhbHNlIiBJc1RleHRBdXRvRml0PSJGYWxzZSIgRm9udD0iVGFob21hLCA4cHQiPg0KICAgIDwvTGVnZW5kPg0KICA8L0xlZ2VuZHM+DQogIDxUaXRsZXM+DQogICAgPFRpdGxlIE5hbWU9IlRpdGxlMSIgVmlzaWJsZT0iRmFsc2UiIEZvbnQ9IlRhaG9tYSwgMTBwdCwgc3R5bGU9Qm9sZCI+DQogICAgPC9UaXRsZT4NCiAgPC9UaXRsZXM+DQogIDxDaGFydEFyZWFzPg0KICAgIDxDaGFydEFyZWEgTmFtZT0iRGVmYXVsdCI+DQogICAgICA8QXhpc1kgSXNMYWJlbEF1dG9GaXQ9IkZhbHNlIiBMaW5lQ29sb3I9IkdyYXkiPg0KICAgICAgICA8TWFqb3JHcmlkIExpbmVDb2xvcj0iNjQsIDY0LCA2NCwgNjQiIC8+DQogICAgICAgIDxMYWJlbFN0eWxlIEZvbnQ9IlRhaG9tYSwgOHB0IiAvPg0KICAgICAgPC9BeGlzWT4NCiAgICAgIDxBeGlzWCBJc0xhYmVsQXV0b0ZpdD0iRmFsc2UiIExpbmVDb2xvcj0iR3JheSI+DQogICAgICAgIDxNYWpvckdyaWQgTGluZUNvbG9yPSI2NCwgNjQsIDY0LCA2NCIgLz4NCiAgICAgICAgPExhYmVsU3R5bGUgRm9udD0iVGFob21hLCA4cHQiIC8+DQogICAgICA8L0F4aXNYPg0KICAgICAgPEF4aXNYMiBJc0xhYmVsQXV0b0ZpdD0iRmFsc2UiPg0KICAgICAgICA8TWFqb3JHcmlkIExpbmVDb2xvcj0iNjQsIDY0LCA2NCwgNjQiIC8+DQogICAgICAgIDxMYWJlbFN0eWxlIEZvbnQ9IlRhaG9tYSwgOHB0IiAvPg0KICAgICAgPC9BeGlzWDI+DQogICAgICA8QXhpc1kyIElzTGFiZWxBdXRvRml0PSJGYWxzZSI+DQogICAgICAgIDxNYWpvckdyaWQgTGluZUNvbG9yPSI2NCwgNjQsIDY0LCA2NCIgLz4NCiAgICAgICAgPExhYmVsU3R5bGUgRm9udD0iVGFob21hLCA4cHQiIC8+DQogICAgICA8L0F4aXNZMj4NCiAgICAgIDxBcmVhM0RTdHlsZSBFbmFibGUzRD0iVHJ1ZSIgSXNDbHVzdGVyZWQ9IlRydWUiIFdhbGxXaWR0aD0iMSIgUG9pbnREZXB0aD0iNTAiIC8+DQogICAgPC9DaGFydEFyZWE+DQogIDwvQ2hhcnRBcmVhcz4NCjwvQ2hhcnQ+">
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
How to use it:
22
- execute the following code once at the application start:
33
FastReport.Utils.RegisteredObjects.AddConnection(typeof(CassandraDataConnection));
4-
- now you should be able to create a new Excel data connection from code:
4+
- now you should be able to create a new Cassandra data connection from code:
55
Report report = new Report();
66
report.Load(@"YourReport.frx");
77
//...
8-
ExcelDataConnection conn = new CassandraDataConnection();
8+
CassandraDataConnection conn = new CassandraDataConnection();
99
conn.ConnectionString = "your connection string";
1010
conn.CreateAllTables();
1111
report.Dictionary.Connections.Add(conn);
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using FastReport.Utils;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Linq;
5+
using System.Text;
6+
using System.Threading.Tasks;
7+
8+
namespace FastReport.Data.Cassandra
9+
{
10+
public class LinterAssemblyInitializer : AssemblyInitializerBase
11+
{
12+
public LinterAssemblyInitializer()
13+
{
14+
RegisteredObjects.AddConnection(typeof(LinterDataConnection));
15+
}
16+
}
17+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFrameworks>netstandard2.1;net461;netcoreapp3.1</TargetFrameworks>
4+
<SignAssembly>true</SignAssembly>
5+
<AssemblyOriginatorKeyFile>../../../FastReport.Plugins.snk</AssemblyOriginatorKeyFile>
6+
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
7+
<Copyright>Fast Reports Inc.</Copyright>
8+
<Company>Fast Reports Inc.</Company>
9+
<PackageLicenseUrl>https://www.fast-report.com/en/product/fast-report-net/license</PackageLicenseUrl>
10+
<PackageProjectUrl>https://www.fast-report.com/en/product/fast-report-net</PackageProjectUrl>
11+
<Authors>Fast Reports Inc.</Authors>
12+
<Product>FastReport.Data.Linter</Product>
13+
<PackageId>FastReport.OpenSource.Data.Linter</PackageId>
14+
<PackageIconUrl>https://www.fast-report.com/download/images/frlogo-big.png</PackageIconUrl>
15+
<PackageTags>reporting, linter, connection, reports, core</PackageTags>
16+
<Version>1.0.0</Version>
17+
<Configurations>Debug;Release;</Configurations>
18+
<AssemblyName>FastReport.Data.Linter</AssemblyName>
19+
<RootNamespace>FastReport.Data</RootNamespace>
20+
<Description>Represents a connection to Linter database for FastReport.OpenSource
21+
22+
This package will not be updated. The $(AssemblyName) package now includes a connector for all versions of the FastReport product: FastReport .NET, FastReport.Core, FastReport.OpenSource, FastReport.CoreWin (.Net Core 3.1 and .Net 5 Windows).
23+
</Description>
24+
<PackageReleaseNotes></PackageReleaseNotes>
25+
</PropertyGroup>
26+
<ItemGroup>
27+
<Compile Remove="LinterConnectionEditor.cs" />
28+
<Compile Remove="*.Designer.cs" />
29+
<Compile Remove="*.DesignExt.cs" />
30+
<EmbeddedResource Remove="LinterConnectionEditor.resx" />
31+
</ItemGroup>
32+
<ItemGroup Condition="$(TargetFramework)=='net461'">
33+
<Reference Include="System" />
34+
<Reference Include="System.Data" />
35+
<Reference Include="System.Design" />
36+
<Reference Include="System.Drawing" />
37+
<Reference Include="System.Xml" />
38+
</ItemGroup>
39+
<ItemGroup>
40+
<ProjectReference Include="..\..\..\..\FastReport.OpenSource\FastReport.OpenSource.csproj" />
41+
</ItemGroup>
42+
43+
</Project>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using FastReport.Data.ConnectionEditors;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Data;
5+
using System.Linq;
6+
using System.Text;
7+
8+
namespace FastReport.Data
9+
{
10+
public partial class LinterDataConnection
11+
{
12+
#region Public Methods
13+
14+
/// <inheritdoc/>
15+
public override void TestConnection()
16+
{
17+
Init();
18+
}
19+
20+
/// <inheritdoc/>
21+
public override ConnectionEditorBase GetEditor()
22+
{
23+
return new LinterDataConnectionEditor(factory);
24+
}
25+
26+
/// <inheritdoc/>
27+
public override string GetConnectionId()
28+
{
29+
return "LINTER: " + ConnectionString;
30+
}
31+
32+
#endregion Public Methods
33+
}
34+
}
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Data;
4+
using System.Data.Common;
5+
6+
namespace FastReport.Data
7+
{
8+
partial class LinterDataConnection : DataConnectionBase
9+
{
10+
DbProviderFactory factory;
11+
12+
private void GetDBObjectNames(string name, string columnName, List<string> list)
13+
{
14+
DataTable schema = null;
15+
DbConnection connection = GetConnection();
16+
connection.ConnectionString = ConnectionString;
17+
try
18+
{
19+
OpenConnection(connection);
20+
DbConnectionStringBuilder builder = factory.CreateConnectionStringBuilder();
21+
builder.ConnectionString = ConnectionString;
22+
schema = connection.GetSchema(name, new string[] { (string)builder["UserID"] });
23+
}
24+
finally
25+
{
26+
DisposeConnection(connection);
27+
}
28+
29+
foreach (DataRow row in schema.Rows)
30+
{
31+
string tableName = row[columnName].ToString();
32+
string schemaName = row["TABLE_SCHEM" + (name == "Views" ? "A" : "")].ToString();
33+
if (schemaName.Contains("SYSTEM"))
34+
list.Add(tableName);
35+
else
36+
list.Add(schemaName + ".\"" + tableName + "\"");
37+
}
38+
}
39+
40+
public override string[] GetTableNames()
41+
{
42+
List<string> list = new List<string>();
43+
GetDBObjectNames("Tables", "TABLE_NAME", list);
44+
GetDBObjectNames("Views", "TABLE_NAME", list);
45+
return list.ToArray();
46+
}
47+
48+
public override string QuoteIdentifier(string value, DbConnection connection)
49+
{
50+
// already quoted? keep in mind GetDBObjectNames and non-SYSTEM schema!
51+
if (!value.EndsWith("\""))
52+
value = "\"" + value + "\"";
53+
return value;
54+
}
55+
56+
protected override string GetConnectionStringWithLoginInfo(string userName, string password)
57+
{
58+
DbConnectionStringBuilder builder = factory.CreateConnectionStringBuilder();
59+
60+
builder.ConnectionString = ConnectionString;
61+
builder["UserID"] = userName;
62+
builder["Password"] = password;
63+
64+
return builder.ToString();
65+
}
66+
67+
68+
public override Type GetConnectionType()
69+
{
70+
return factory.CreateConnection().GetType();
71+
}
72+
73+
public override DbDataAdapter GetAdapter(string selectCommand, DbConnection connection,
74+
CommandParameterCollection parameters)
75+
{
76+
DbDataAdapter adapter = factory.CreateDataAdapter();
77+
adapter.SelectCommand = factory.CreateCommand();
78+
adapter.SelectCommand.Connection = connection;
79+
adapter.SelectCommand.CommandText = selectCommand;
80+
81+
foreach (CommandParameter p in parameters)
82+
{
83+
adapter.SelectCommand.Parameters.Add(p.Value);
84+
}
85+
86+
return adapter;
87+
}
88+
89+
public LinterDataConnection()
90+
{
91+
try
92+
{
93+
Init();
94+
}
95+
catch
96+
{
97+
factory = null;
98+
}
99+
IsSqlBased = true;
100+
}
101+
102+
private void Init()
103+
{
104+
factory = DbProviderFactories.GetFactory("System.Data.LinterClient");
105+
}
106+
}
107+
}

0 commit comments

Comments
 (0)