/// <summary> /// Create a new database and return a connection to /// the database. The database will be overwritten if /// it already exists. /// </summary> /// <param name="database">The path to the database.</param> /// <param name="mode">Creation mode for the database.</param> /// <returns>A new connection to the database.</returns> public virtual Connection CreateDatabase(string database, DatabaseCreationMode mode) { database = Path.GetFullPath(database); lock (this.lockObject) { this.SetGlobalParameters(); this.Tracer.TraceInfo("create database '{0}'", database); // Create the database then open it using (var instance = new Instance(this.GetNewInstanceName())) { SetParametersAndInitializeInstance(database, instance); using (var session = new Session(instance)) { CreateDatabaseGrbit grbit = (DatabaseCreationMode.OverwriteExisting == mode) ? CreateDatabaseGrbit.OverwriteExisting : CreateDatabaseGrbit.None; JET_DBID dbid; Api.JetCreateDatabase(session, database, String.Empty, out dbid, grbit); Api.JetCloseDatabase(session, dbid, CloseDatabaseGrbit.None); Api.JetDetachDatabase(session, database); } } return(this.AttachDatabase(database, DatabaseOpenMode.ReadWrite)); } }
public void CreateDatabase(string connect, CreateDatabaseGrbit grbit) { if (JetDbid != JET_DBID.Nil) { throw new ApplicationException("Only one database may be opened in an EsentSession"); } JET_DBID dbid; Api.JetCreateDatabase(_session, Database.DatabasePath, connect, out dbid, grbit); JetDbid = dbid; }
/// <summary> /// Creates and attaches a database file. /// </summary> /// <param name="sesid">The session to use.</param> /// <param name="database">The path to the database file to create.</param> /// <param name="dbid">Returns the dbid of the new database.</param> /// <param name="grbit">Database creation options.</param> public static void CreateDatabase(JET_SESID sesid, string database, out JET_DBID dbid, CreateDatabaseGrbit grbit) { Api.JetCreateDatabase(sesid, database, null, out dbid, grbit); }
/// <summary> /// Creates and attaches a database file with a maximum database size specified. /// <seealso cref="JetAttachDatabase2"/>. /// </summary> /// <param name="sesid">The session to use.</param> /// <param name="database">The path to the database file to create.</param> /// <param name="maxPages"> /// The maximum size, in database pages, of the database. Passing 0 means there is /// no enforced maximum. /// </param> /// <param name="dbid">Returns the dbid of the new database.</param> /// <param name="grbit">Database creation options.</param> public static void JetCreateDatabase2(JET_SESID sesid, string database, int maxPages, out JET_DBID dbid, CreateDatabaseGrbit grbit) { Api.Check(Impl.JetCreateDatabase2(sesid, database, maxPages, out dbid, grbit)); }
/// <summary> /// Creates and attaches a database file. /// </summary> /// <param name="sesid">The session to use.</param> /// <param name="database">The path to the database file to create.</param> /// <param name="connect">The parameter is not used.</param> /// <param name="dbid">Returns the dbid of the new database.</param> /// <param name="grbit">Database creation options.</param> public static void JetCreateDatabase(JET_SESID sesid, string database, string connect, out JET_DBID dbid, CreateDatabaseGrbit grbit) { Api.Check(Impl.JetCreateDatabase(sesid, database, connect, out dbid, grbit)); }
public static void CreateDatabase(this IEsentSession session, CreateDatabaseGrbit grbit) { session.CreateDatabase(null, grbit); }
/// <summary> /// Creates and attaches a database file. /// </summary> /// <param name="sesid">The session to use.</param> /// <param name="database">The path to the database file to create.</param> /// <param name="dbid">Returns the dbid of the new database.</param> /// <param name="grbit">Database creation options.</param> public static void CreateDatabase(JET_SESID sesid, string database, out JET_DBID dbid, CreateDatabaseGrbit grbit) { Api.JetCreateDatabase(sesid, database, null, out dbid, grbit); }