本文整理汇总了C#中System.Data.Common.DbProviderFactory.CreateConnectionStringBuilder方法的典型用法代码示例。如果您正苦于以下问题:C# DbProviderFactory.CreateConnectionStringBuilder方法的具体用法?C# DbProviderFactory.CreateConnectionStringBuilder怎么用?C# DbProviderFactory.CreateConnectionStringBuilder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Common.DbProviderFactory
的用法示例。
在下文中一共展示了DbProviderFactory.CreateConnectionStringBuilder方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetCloneFactory
public static bool GetCloneFactory(this IDbConnection connection, string replaceDatabase, out DbProviderFactory factory, out string cloneConnectString)
{
factory = connection.GetDbFactory();
cloneConnectString = connection.ConnectionString;
if (factory == null)
return false;
if (!string.IsNullOrEmpty(replaceDatabase))
{
var csb = factory.CreateConnectionStringBuilder();
if (csb != null)
{
csb.ConnectionString = connection.ConnectionString;
if (csb.ContainsKey("Data Source"))
{
// SQL-Server, keep Data Source, but change initial catalog
if (csb.ContainsKey("Initial Catalog"))
csb["Initial Catalog"] = replaceDatabase;
else
{
// SQL CE
string directory = Path.GetDirectoryName(csb["Data Source"].ToString());
csb["Data Source"] = Path.Combine(directory, replaceDatabase + ".sdf");
}
}
if (csb.ContainsKey("database"))
{
csb["database"] = replaceDatabase;
}
cloneConnectString = csb.ConnectionString;
}
}
return true;
}
示例2: ConnectDialog
public ConnectDialog()
{
InitializeComponent();
factory = DbProviderFactories.GetFactory("MySql.Data.MySqlClient");
if (factory == null)
throw new Exception("MySql Data Provider is not correctly registered");
connectionStringBuilder = factory.CreateConnectionStringBuilder();
connectionProperties.SelectedObject = connectionStringBuilder;
}
示例3: db_connect
private void db_connect(string dbfilename)
{
//if (System.IO.File.Exists(dbfilename)) System.IO.File.Delete(dbfilename);
makeProvider();
_dbfact = DbProviderFactories.GetFactory("System.Data.SQLite");
_dbcon = _dbfact.CreateConnection();
_dbcon.ConnectionString = "Data Source=" + dbfilename + ";Pooling=true;FailIfMissing=false";
_dbconstring = _dbfact.CreateConnectionStringBuilder();
_dbconstring.ConnectionString = "Data Source=" + dbfilename + ";Pooling=true;FailIfMissing=false";
_dbcon.Open();
}
示例4: DbConfiguration
private DbConfiguration(
string providerName
, string name
, string connectionString
, DbProviderFactory dbProviderFactory)
{
DbProviderName = providerName;
Name = name;
DbProviderFactory = dbProviderFactory;
ConnectionString = connectionString;
SetMappingConversion(MappingConversion.Default);
properties = new Dictionary<string, string>();
switch (providerName)
{
case DbProviderNames.SQLite:
connectionCreator = () => new DbConnectionWrapper(this, DbProviderFactory.CreateConnection()) { ConnectionString = connectionString, IsFileDatabase = true };
break;
case DbProviderNames.Oledb:
case DbProviderNames.SqlCe35:
case DbProviderNames.SqlCe40:
connectionCreator = () => new DbConnectionWrapper(this, DbProviderFactory.CreateConnection()) { ConnectionString = connectionString, IsFileDatabase = true };
break;
case DbProviderNames.SqlServer:
var builder = DbProviderFactory.CreateConnectionStringBuilder();
builder.ConnectionString = connectionString;
builder["MultipleActiveResultSets"] = true;
connectionCreator = () => new DbConnectionWrapper(this, DbProviderFactory.CreateConnection()) { ConnectionString = connectionString };
break;
case DbProviderNames.Oracle_ODP:
connectionCreator = () => new ODPConnectionWrapper(this, DbProviderFactory.CreateConnection()) { ConnectionString = connectionString };
break;
case DbProviderNames.Oracle_Managed_ODP:
connectionCreator = () =>new ManagedODPConnectionWrapper(this, DbProviderFactory.CreateConnection()) { ConnectionString = connectionString };
break;
case DbProviderNames.NLite_Data_Oracle:
(DbProviderFactory as OracleClientFactory).Init(ConnectionString);
connectionCreator = () => new ManagedODPConnectionWrapper(this, DbProviderFactory.CreateConnection());
break;
default:
connectionCreator = () => new DbConnectionWrapper(this, DbProviderFactory.CreateConnection()) { ConnectionString = connectionString };
break;
}
if (ConfigurationManager.ConnectionStrings.Count == 1)
MakeDefault();
}
示例5: GetCloneFactory
public static bool GetCloneFactory(this IDbConnection connection, string replaceDatabase, out DbProviderFactory factory, out string cloneConnectString)
{
factory = connection.GetDbFactory();
cloneConnectString = connection.ConnectionString;
if (factory == null)
return false;
if (!string.IsNullOrEmpty(replaceDatabase))
{
var csb = factory.CreateConnectionStringBuilder();
if (csb != null)
{
csb.ConnectionString = connection.ConnectionString;
if (csb.ContainsKey("Data Source"))
{
// SQL-Server, keep Data Source, but change initial catalog
if (csb.ContainsKey("Initial Catalog"))
csb["Initial Catalog"] = replaceDatabase;
else
{
// SQL CE
string directory = Path.GetDirectoryName(csb["Data Source"].ToString());
csb["Data Source"] = Path.Combine(directory, replaceDatabase + ".sdf");
}
}
if (csb.ContainsKey("database"))
{
csb["database"] = replaceDatabase;
}
// SQLite
if (csb.ContainsKey("fulluri"))
{
// Typical SQLite connection string using URI format:
// fulluri="file:///C:/ProgramData/Team%20MediaPortal/MP2-Server/Database/Datastore.s3db?cache=shared";version=3;binaryguid=True;default timeout=30000;cache size=65536;journal mode=Wal;pooling=False;synchronous=Normal;foreign keys=True
csb["fulluri"] = REGEX_SQLITE_REPLACE.Replace(csb["fulluri"].ToString(), "$1" + replaceDatabase + "$3");
}
cloneConnectString = csb.ConnectionString;
}
}
return true;
}
示例6: DbConfiguration
private DbConfiguration(
string providerName
, string name
, string connectionString
, DbProviderFactory dbProviderFactory)
{
DbProviderName = providerName;
Name = name;
DbProviderFactory = dbProviderFactory;
ConnectionString = connectionString;
SetMappingConversion(MappingConversion.Default);
switch (providerName)
{
case DbProviderNames.SQLite:
connectionCreator = () => new SQLiteConnectionWrapper(this,DbProviderFactory.CreateConnection()) { ConnectionString = connectionString, IsFileDatabase = true };
break;
case DbProviderNames.Oledb:
case DbProviderNames.SqlCe35:
case DbProviderNames.SqlCe40:
connectionCreator = () => new DbConnectionWrapper(this,DbProviderFactory.CreateConnection()) { ConnectionString = connectionString, IsFileDatabase = true };
break;
case DbProviderNames.SqlServer:
var builder = DbProviderFactory.CreateConnectionStringBuilder();
builder.ConnectionString = connectionString;
builder["MultipleActiveResultSets"] = true;
connectionCreator = () => new DbConnectionWrapper(this,DbProviderFactory.CreateConnection()) { ConnectionString = connectionString };
break;
case DbProviderNames.Oracle_ODP:
connectionCreator = () => new ODPConnectionWrapper(this,DbProviderFactory.CreateConnection()) { ConnectionString = connectionString };
break;
default:
connectionCreator = () => new DbConnectionWrapper(this,DbProviderFactory.CreateConnection()) { ConnectionString = connectionString };
break;
}
}
示例7: PopulateSqlServer2000
private static void PopulateSqlServer2000(DbConnection conn, DbProviderFactory factory, DbConfiguration cfg)
{
if (factory is System.Data.SqlClient.SqlClientFactory)
{
var connectionStringBuilder = factory.CreateConnectionStringBuilder();
connectionStringBuilder.ConnectionString = cfg.ConnectionString;
connectionStringBuilder["Database"] = "master";
var state = conn.State;
if (state != ConnectionState.Open)
conn.Open();
var serverVersion = conn.ServerVersion;
if (state != ConnectionState.Open)
conn.Close();
var version = int.Parse(serverVersion.Substring(0, 2));
if (version < 9)
InitMsSql2000(cfg);
}
}
示例8: init
public static void init(Dictionary<String, String> properties, int maxThreads)
{
sessions = new ConcurrentDictionary<SqlSession, String>(maxThreads, maxThreads);
// don't use the NuoDb provider that is installed on the system, use the one we
// pick from the NuGet repository
//dataSource = DbProviderFactories.GetFactory(properties["dotnet.driver"]);
dataSource = new NuoDbProviderFactory();
DbConnectionStringBuilder connectionStringBuilder = dataSource.CreateConnectionStringBuilder();
connectionStringBuilder.Add("User", properties["user"]);
connectionStringBuilder.Add("Password", properties["password"]);
connectionStringBuilder.Add("Server", properties["url.server"]);
connectionStringBuilder.Add("Database", properties["url.database"]);
connectionStringBuilder.Add("Schema", properties["defaultSchema"]);
connectionStringBuilder.Add("Pooling", "True");
connectionStringBuilder.Add("MaxLifetime", properties["maxAge"]);
if (maxThreads > 100)
{
connectionStringBuilder.Add("MaxConnections", String.Format("{0}", maxThreads));
}
// process any options
String options = properties["url.options"];
if (options.StartsWith("?")) options = options.Substring(1);
String[] optlist = options.Split("&".ToCharArray());
foreach (String opt in optlist)
{
String[] keyval = opt.Split("=".ToCharArray());
if (keyval.Length == 2) connectionStringBuilder.Add(keyval[0], keyval[1]);
else if (keyval.Length == 1) connectionStringBuilder.Add(keyval[0], "true");
}
String isolation = properties["default.isolation"];
if (isolation == null || isolation.Length == 0) isolation = "CONSISTENT_READ";
switch (isolation)
{
case "READ_COMMITTED":
//updateIsolation = Connection.TRANSACTION_READ_COMMITTED;
updateIsolation = IsolationLevel.ReadCommitted;
break;
case "SERIALIZABLE":
//updateIsolation = Connection.TRANSACTION_SERIALIZABLE;
updateIsolation = IsolationLevel.Serializable;
break;
case "CONSISTENT_READ":
//updateIsolation = TransactionIsolation.TRANSACTION_CONSISTENT_READ;
updateIsolation = IsolationLevel.Unspecified;
break;
case "WRITE_COMMITTED":
//updateIsolation = TransactionIsolation.TRANSACTION_WRITE_COMMITTED;
updateIsolation = IsolationLevel.Unspecified;
break;
}
updateConnectionString = connectionStringBuilder.ConnectionString;
// make this one READ_ONLY
connectionStringBuilder.Add("IsolationLevel", "ReadCommitted");
queryConnectionString = connectionStringBuilder.ConnectionString;
}
示例9: CreateConnectionString
/// <summary>
///
/// </summary>
/// <param name="dataSource"></param>
/// <param name="providerFactory"></param>
/// <returns></returns>
private static string CreateConnectionString(RdlDataSource dataSource, DbProviderFactory providerFactory)
{
var genericConnectionStringBuilder = providerFactory.CreateConnectionStringBuilder();
Debug.Assert(genericConnectionStringBuilder != null, "genericConnectionStringBuilder != null");
genericConnectionStringBuilder.ConnectionString = dataSource.ConnectionProperties.ConnectString;
var sqlConnectionStringBuilder = genericConnectionStringBuilder as SqlConnectionStringBuilder;
if (sqlConnectionStringBuilder != null)
{
bool integratedSecurity;
if (Boolean.TryParse(dataSource.ConnectionProperties.IntegratedSecurity, out integratedSecurity) &&
integratedSecurity)
{
sqlConnectionStringBuilder.IntegratedSecurity = true;
sqlConnectionStringBuilder.UserID = String.Empty;
sqlConnectionStringBuilder.Password = String.Empty;
}
}
return genericConnectionStringBuilder.ConnectionString;
}