EntitySpaces2009中连接Access的连接设置

因为使用access时,access文件地址不能固定,所以必须写成动态变化的,那么就不能通过配置文件实现,同时,连接参数也和其他类型数据库不一样,使用时注意以下方法配置连接参数:

方法一:

conn = New esConnectionElement()
conn.Name = AccessConnectionName
conn.ProviderMetadataKey = "esDefault"
conn.SqlAccessType = esSqlAccessType.DynamicSQL
conn.Provider = "EntitySpaces.MSAccessProvider"
conn.ProviderClass = "DataProvider"

Dim sourceAccessDatabase As String
sourceAccessDatabase = Path.Combine(mOperatingDirectory, "db.mdb")

Dim userInfo As String
userInfo = "User Id=username;Password=password"
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Locking Mode=1;Data Source=" & sourceAccessDatabase & ";Jet OLEDB:System database=" & Path.Combine(mOperatingDirectory, "ibs.mdw") & ";" & userInfo

esConfigSettings.ConnectionInfo.Connections.Add(conn)

 

方法二:

 

databaseVersion applies to SQL Server only. For other DBs it is ignored.对于access只需要修改连接字符串就可以了:

MS Access 2007:

connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\MyDatabase.accdb;"

Other versions going back to Access 2000:

connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myFolder\MyDatabase.mdb;"

实际使用过的方法和方法一类似,其他方法未使用过:

            // --- Manually register a connection 
            esConnectionElement conn = new esConnectionElement();
            conn.Name = "SqlCe";
            conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;Data Source=" + Application.StartupPath.Trim() + @"\DB.mdb;Persist Security Info=True";
            conn.Provider = "EntitySpaces.MSAccessProvider";
            conn.ProviderClass = "DataProvider";
            conn.SqlAccessType = esSqlAccessType.DynamicSQL;
            conn.ProviderMetadataKey = "esDefault";
            conn.DatabaseVersion = "2005";
            // --- Assign the Default Connection ---
            esConfigSettings.ConnectionInfo.Connections.Add(conn);
            esConfigSettings.ConnectionInfo.Default = "SqlCe";

原文地址:https://www.cnblogs.com/Rising/p/1660357.html