/// <summary> /// Creates new Access database file. Requires Access OLE DB provider (JET or ACE) and ADOX. /// </summary> /// <param name="databaseName">Name of database to create.</param> /// <param name="deleteIfExists">If <c>true</c>, existing database will be removed before create.</param> /// <param name="provider">Name of OleDb provider to use to create database. Default value: "Microsoft.Jet.OLEDB.4.0".</param> /// <remarks> /// Provider value examples: Microsoft.Jet.OLEDB.4.0 (for JET database), Microsoft.ACE.OLEDB.12.0, Microsoft.ACE.OLEDB.15.0 (for ACE database). /// </remarks> public static void CreateDatabase(string databaseName, bool deleteIfExists = false, string provider = "Microsoft.Jet.OLEDB.4.0") { if (databaseName == null) { throw new ArgumentNullException(nameof(databaseName)); } databaseName = databaseName.Trim(); if (!databaseName.ToLower().EndsWith(".mdb")) { databaseName += ".mdb"; } if (File.Exists(databaseName)) { if (!deleteIfExists) { return; } File.Delete(databaseName); } var connectionString = $"Provider={provider};Data Source={databaseName};Locale Identifier=1033"; DataTools.CreateFileDatabase( databaseName, deleteIfExists, ".mdb", _ => CreateAccessDB(connectionString)); }
public static void CreateDatabase(string databaseName, bool deleteIfExists = false) { if (databaseName == null) { throw new ArgumentNullException(nameof(databaseName)); } DataTools.CreateFileDatabase( databaseName, deleteIfExists, ".sqlite", dbName => { // don't use CreateFile method of System.Data.Sqlite as it just creates empty file using (File.Create(dbName)) { }; }); }
public static void CreateDatabase(string databaseName, bool deleteIfExists = false) { if (databaseName == null) { throw new ArgumentNullException(nameof(databaseName)); } DataTools.CreateFileDatabase( databaseName, deleteIfExists, ".sdf", dbName => { using (var engine = SqlCeProviderAdapter.GetInstance().CreateSqlCeEngine("Data Source=" + dbName)) engine.CreateDatabase(); }); }
/// <summary> /// Creates new Access database file. Requires Jet OLE DB provider and ADOX. /// </summary> /// <param name="databaseName">Name of database to create.</param> /// <param name="deleteIfExists">If <c>true</c>, existing database will be removed before create.</param> public static void CreateDatabase(string databaseName, bool deleteIfExists = false) { if (databaseName == null) { throw new ArgumentNullException(nameof(databaseName)); } databaseName = databaseName.Trim(); if (!databaseName.ToLower().EndsWith(".mdb")) { databaseName += ".mdb"; } if (File.Exists(databaseName)) { if (!deleteIfExists) { return; } File.Delete(databaseName); } var connectionString = string.Format( @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Locale Identifier=1033;Jet OLEDB:Engine Type=5", databaseName); DataTools.CreateFileDatabase( databaseName, deleteIfExists, ".mdb", dbName => { dynamic catalog = new CatalogClass(); var conn = catalog.Create(connectionString); if (conn != null) { conn.Close(); } }); }