Show / Hide Table of Contents

    Class MsAccessDataHelper

    General helpers for work Microsoft Access.

    Inheritance
    System.Object
    MsAccessDataHelper
    Namespace: Kros.Data.MsAccess
    Assembly: Kros.Utils.MsAccess.dll
    Syntax
    public static class MsAccessDataHelper

    Fields

    AceProviderBase

    Identification of Microsoft Access ACE provider: Microsoft.ACE.OLEDB.

    Declaration
    public const string AceProviderBase = "Microsoft.ACE.OLEDB"
    Field Value
    Type Description
    System.String

    ClientId

    Identification of Microsoft Access classes (used for example in MsAccessIdGeneratorFactory, MsAccessBulkActionFactory).

    Declaration
    public const string ClientId = "System.Data.OleDb"
    Field Value
    Type Description
    System.String

    JetProviderBase

    Identification of Microsoft Access JET provider: Microsoft.Jet.OLEDB.

    Declaration
    public const string JetProviderBase = "Microsoft.Jet.OLEDB"
    Field Value
    Type Description
    System.String

    Properties

    MsAccessAceProvider

    Returns string for installed Microsoft Access ACE provider (for example Microsoft.ACE.OLEDB.12.0). If ACE provider is not installed, empty string is returned.

    Declaration
    public static string MsAccessAceProvider { get; }
    Property Value
    Type Description
    System.String
    Remarks

    Provider is loaded from the system only once and the value is cached. So when no provider is found, this state is returned for any subsequent reads of the property.

    MsAccessJetProvider

    Returns string for installed Microsoft Access ACE provider (for example Microsoft.Jet.OLEDB.4.0). If JET provider is not installed, empty string is returned.

    Declaration
    public static string MsAccessJetProvider { get; }
    Property Value
    Type Description
    System.String
    Remarks

    Provider is loaded from the system only once and the value is cached. So when no provider is found, this state is returned for any subsequent reads of the property.

    MsAccessProvider

    Returns installed provider for Microsoft Access. ACE provider is preferred over JET provider (if both are available). If none provider is installed, empty string is returned.

    Declaration
    public static string MsAccessProvider { get; }
    Property Value
    Type Description
    System.String

    Methods

    CreateConnectionString(String, ProviderType)

    Creates a connection string to the database databasePath with provider type provider.

    Declaration
    public static string CreateConnectionString(string databasePath, ProviderType provider)
    Parameters
    Type Name Description
    System.String databasePath

    Path to the database.

    ProviderType provider

    Provider type, which will be usedProvider string is used for the current, installed provider, so there is no need to care about provider version.

    Returns
    Type Description
    System.String

    Returns connection string to specified database. For example Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\data\database.accdb;.

    CreateEmptyDatabase(String, ProviderType)

    Creates an empty Microsoft Access database at location path. Database type (.accdb, .mdb) is specified with provider.

    Declaration
    public static void CreateEmptyDatabase(string path, ProviderType provider)
    Parameters
    Type Name Description
    System.String path

    Path, where the database will be created. The path must be full, must contain also file name.

    ProviderType provider

    Microsoft Access database type.

    Remarks

    If the file path already exists, it will be overwritten.

    Based on the value of provider is created specified database type (.accdb, or older .mdb). But nothing is done with the file extension, so the file name will be created as path. So it is possible to create a file with .mdb extension, which actually will be database type .accdb. So the caller must provide correct file name.

    GetProviderString(ProviderType)

    For specified provider type provider returns string of the provider for use in connection string. If there is no provider available, empty string is returned.

    Declaration
    public static string GetProviderString(ProviderType provider)
    Parameters
    Type Name Description
    ProviderType provider

    Provider type.

    Returns
    Type Description
    System.String

    Method just returns the values of other properties:

    AceMsAccessAceProvider
    JetMsAccessJetProvider

    GetProviderType(IDbConnection)

    Returns Microsoft Access provider type used in connection connection.

    Declaration
    public static ProviderType GetProviderType(IDbConnection connection)
    Parameters
    Type Name Description
    System.Data.IDbConnection connection

    Database connection.

    Returns
    Type Description
    ProviderType

    Provider type.

    GetProviderType(String)

    Returns Microsoft Access provider type used in connection string connectionString.

    Declaration
    public static ProviderType GetProviderType(string connectionString)
    Parameters
    Type Name Description
    System.String connectionString

    Connection string.

    Returns
    Type Description
    ProviderType

    Provider type.

    HasProvider(ProviderType)

    Returns is specified Microsoft Access provider provider is available.

    Declaration
    public static bool HasProvider(ProviderType provider)
    Parameters
    Type Name Description
    ProviderType provider

    Checked provider type.

    Returns
    Type Description
    System.Boolean

    true if provider is available, otherwise false.

    IsExclusiveMsAccessConnection(IDbConnection)

    Checks if connection connection is an exclusive connection to the database.

    Declaration
    public static bool IsExclusiveMsAccessConnection(IDbConnection connection)
    Parameters
    Type Name Description
    System.Data.IDbConnection connection

    The connection.

    Returns
    Type Description
    System.Boolean

    true if connection is exclusive, otherwise false.

    IsExclusiveMsAccessConnection(String)

    Checks if connection connectionString is an exclusive connection to the database.

    Declaration
    public static bool IsExclusiveMsAccessConnection(string connectionString)
    Parameters
    Type Name Description
    System.String connectionString

    The connection string.

    Returns
    Type Description
    System.Boolean

    true if connection is exclusive, otherwise false.

    IsMsAccessAceProvider(String)

    Checks if ACE provider is used in connectionString.

    Declaration
    public static bool IsMsAccessAceProvider(string connectionString)
    Parameters
    Type Name Description
    System.String connectionString

    Connection string.

    Returns
    Type Description
    System.Boolean

    true if ACE provider is used, otherwise false.

    IsMsAccessConnection(IDbConnection)

    Checks if database connection connection is Microsoft Access.

    Declaration
    public static bool IsMsAccessConnection(IDbConnection connection)
    Parameters
    Type Name Description
    System.Data.IDbConnection connection

    Tested connection.

    Returns
    Type Description
    System.Boolean

    true if connection is to Microsoft Access database, otherwise false.

    IsMsAccessConnection(String)

    Checks if database connection connectionString is Microsoft Access.

    Declaration
    public static bool IsMsAccessConnection(string connectionString)
    Parameters
    Type Name Description
    System.String connectionString

    Tested connection string.

    Returns
    Type Description
    System.Boolean

    true if connection is to Microsoft Access database, otherwise false.

    IsMsAccessJetProvider(String)

    Checks if JET provider is used in connectionString.

    Declaration
    public static bool IsMsAccessJetProvider(string connectionString)
    Parameters
    Type Name Description
    System.String connectionString

    Connection string.

    Returns
    Type Description
    System.Boolean

    true if JET provider is used, otherwise false.

    Back to top KROS a.s.