Skip to content

Commit 229c6c4

Browse files
Nicholas RubinofredericDelaporte
andcommitted
Add SybaseASE driver for ado.net 4/4.5 connector
Co-authored-by: Frédéric Delaporte <[email protected]>
1 parent fc76122 commit 229c6c4

File tree

4 files changed

+91
-21
lines changed

4 files changed

+91
-21
lines changed
Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
using System;
2-
3-
namespace NHibernate.Driver
1+
namespace NHibernate.Driver
42
{
53
/// <summary>
6-
/// This provides a driver for Sybase ASE 15 using the ADO.NET driver.
4+
/// This provides a driver for Sybase ASE 15 using the ADO.NET 2 driver.
75
/// </summary>
86
/// <remarks>
97
/// You will need the following libraries available to your application:
@@ -12,25 +10,13 @@ namespace NHibernate.Driver
1210
/// <li>sybdrvado20.dll</li>
1311
/// </ul>
1412
/// </remarks>
15-
public class SybaseAseClientDriver : ReflectionBasedDriver
13+
public class SybaseAseClientDriver : SybaseAseClientDriverBase
1614
{
17-
public SybaseAseClientDriver() : base("Sybase.AdoNet2.AseClient", "Sybase.Data.AseClient.AseConnection", "Sybase.Data.AseClient.AseCommand")
15+
/// <summary>
16+
/// Default constructor.
17+
/// </summary>
18+
public SybaseAseClientDriver() : base("Sybase.AdoNet2.AseClient")
1819
{
1920
}
20-
21-
public override string NamedPrefix
22-
{
23-
get { return "@"; }
24-
}
25-
26-
public override bool UseNamedPrefixInParameter
27-
{
28-
get { return true; }
29-
}
30-
31-
public override bool UseNamedPrefixInSql
32-
{
33-
get { return true; }
34-
}
3521
}
3622
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
namespace NHibernate.Driver
2+
{
3+
/// <summary>
4+
/// This provides a driver for Sybase ASE 15 using the ADO.NET 4 driver.
5+
/// </summary>
6+
public class SybaseAdoNet4Driver : SybaseAseClientDriverBase
7+
{
8+
/// <summary>
9+
/// Default constructor.
10+
/// </summary>
11+
public SybaseAdoNet4Driver() : base("Sybase.AdoNet4.AseClient")
12+
{
13+
}
14+
}
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
namespace NHibernate.Driver
2+
{
3+
/// <summary>
4+
/// This provides a driver for Sybase ASE 16 using the ADO.NET 4.5 driver.
5+
/// </summary>
6+
public class SybaseAdoNet45Driver : SybaseAseClientDriverBase
7+
{
8+
/// <summary>
9+
/// Default constructor.
10+
/// </summary>
11+
public SybaseAdoNet45Driver() : base("Sybase.AdoNet45.AseClient")
12+
{
13+
}
14+
}
15+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
namespace NHibernate.Driver
2+
{
3+
/// <summary>
4+
/// This provides a driver base for Sybase ASE 15 using the ADO.NET driver. (Also known as SAP
5+
/// Adaptive Server Enterprise.)
6+
/// </summary>
7+
/// <remarks>
8+
/// ASE was formerly Sybase SQL Server, not to be confused with SQL Anywhere / ASA.
9+
/// </remarks>
10+
public abstract class SybaseAseClientDriverBase : ReflectionBasedDriver
11+
{
12+
/// <summary>
13+
/// Initializes a new instance of <see cref="SybaseAseClientDriverBase" /> with
14+
/// type names that are loaded from the specified assembly.
15+
/// </summary>
16+
/// <param name="assemblyName">Assembly to load the types from.</param>
17+
protected SybaseAseClientDriverBase(string assemblyName) : base(
18+
"Sybase.Data.AseClient",
19+
assemblyName,
20+
"Sybase.Data.AseClient.AseConnection",
21+
"Sybase.Data.AseClient.AseCommand")
22+
{
23+
}
24+
25+
/// <summary>
26+
/// Initializes a new instance of <see cref="SybaseAseClientDriverBase" /> with
27+
/// type names that are loaded from the specified assembly.
28+
/// </summary>
29+
/// <param name="providerInvariantName">The Invariant name of a provider.</param>
30+
/// <param name="assemblyName">Assembly to load the types from.</param>
31+
/// <param name="connectionTypeName">Connection type name.</param>
32+
/// <param name="commandTypeName">Command type name.</param>
33+
protected SybaseAseClientDriverBase(
34+
string providerInvariantName,
35+
string assemblyName,
36+
string connectionTypeName,
37+
string commandTypeName) : base(
38+
providerInvariantName,
39+
assemblyName,
40+
connectionTypeName,
41+
commandTypeName)
42+
{
43+
}
44+
45+
/// <inheritdoc />
46+
public override string NamedPrefix => "@";
47+
48+
/// <inheritdoc />
49+
public override bool UseNamedPrefixInParameter => true;
50+
51+
/// <inheritdoc />
52+
public override bool UseNamedPrefixInSql => true;
53+
}
54+
}

0 commit comments

Comments
 (0)