public override IDatabase Execute() { var db = Database; FbScript script; using (var s = GetType().Assembly.GetManifestResourceStream(ScriptResourceName)) { using (var r = new StreamReader(s, Encoding.UTF8)) { script = new FbScript(r.ReadToEnd()); script.Parse(); } } try { using (var con = new FbConnection(db.ConnectionString)) { con.Open(); } } catch { FbConnection.CreateDatabase(db.ConnectionString); } using (var con = new FbConnection(db.ConnectionString)) { var be = new FbBatchExecution(con); be.AppendSqlStatements(script); be.Execute(); } return db; }
private static void ExecuteDbCreationScript() { using (var connection = new FbConnection(GetConnectionString())) { var batchExecution = new FbBatchExecution(connection); var script = new FbScript(DbCreationScript ?? Resources.create_db); script.Parse(); batchExecution.AppendSqlStatements(script); batchExecution.Execute(); } }
protected override void DbCreateDatabase(DbConnection connection, int? commandTimeout, #pragma warning disable 3001 StoreItemCollection storeItemCollection) #pragma warning restore 3001 { FbConnection.CreateDatabase(connection.ConnectionString, 16384, true, false); string script = DbCreateDatabaseScript(GetDbProviderManifestToken(connection), storeItemCollection); FbScript fbScript = new FbScript(script); fbScript.Parse(); using (var fbConnection = new FbConnection(connection.ConnectionString)) { var execution = new FbBatchExecution(fbConnection); execution.AppendSqlStatements(fbScript); execution.Execute(); } }