Reputation: 11
I now have the following code to backup the database
public class SqlServerBacpac
{
public static void Startup(ServerConfigOption option)
{
var connectionString = SqlClientHelper.BuildSqlConnectionString(option);
var fileName = option.Database + "_" + DateTime.Now.ToString(option.Format) + ".bacpac";
var filePath = Path.Combine(option.Folder, fileName);
var ds = new DacServices(connectionString);
ds.ExportBacpac(filePath, option.Database);
}
}
use nuget package
Microsoft.SqlServer.Dac
In debug environment, everything works fine
Posting a configuration file
However, the following problem occurred after the release
Unhandled exception. System.ArgumentException: The path is empty. (Parameter 'path')
at System.IO.Path.GetFullPath(String path)
at System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName)
at Microsoft.Data.Tools.Schema.Sql.Dac.DacOrigin.Operation.SetOperatingAssembly(Assembly assembly)
at Microsoft.Data.Tools.Schema.Sql.Dac.DacOrigin.Operation..ctor(Assembly executingAssembly)
at Microsoft.Data.Tools.Schema.Sql.Dac.DacOrigin..ctor(Assembly executingAssembly)
at Microsoft.SqlServer.Dac.DacServices.<>c__DisplayClass77_1.<CreateExportOperation>b__1()
at Microsoft.Data.Tools.Schema.Sql.Dac.OperationLogger.Capture(Action action)
at Microsoft.SqlServer.Dac.DacServices.<>c__DisplayClass77_0.<CreateExportOperation>b__0(Object operation, CancellationToken token)
at Microsoft.SqlServer.Dac.Operation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context)
at Microsoft.SqlServer.Dac.OperationExtension.CompositeOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context)
at Microsoft.SqlServer.Dac.OperationExtension.Execute(IOperation operation, DacLoggingContext loggingContext, CancellationToken cancellationToken)
at Microsoft.SqlServer.Dac.DacServices.ExportBacpac(Func`1 streamGetter, String databaseName, DacExportOptions exportOptions, IEnumerable`1 tables, CancellationToken cancellationToken)
at Microsoft.SqlServer.Dac.DacServices.ExportBacpac(String packageFileName, String databaseName, DacExportOptions options, IEnumerable`1 tables, Nullable`1 cancellationToken)
at Microsoft.SqlServer.Dac.DacServices.ExportBacpac(String packageFileName, String databaseName, DacSchemaModelStorageType modelStorageType, IEnumerable`1 tables, Nullable`1 cancellationToken)
at Microsoft.SqlServer.Dac.DacServices.ExportBacpac(String packageFileName, String databaseName, IEnumerable`1 tables, Nullable`1 cancellationToken)
at SqlServerBackup.SqlServerBacpac.Startup(ServerConfigOption option)
at Program.<<Main>$>g__RunOptions|0_1(ServerConfigOption opts)
at CommandLine.ParserResultExtensions.WithParsed[T](ParserResult`1 result, Action`1 action)
at Program.<Main>$(String[] args)
I want the release to be usable in any environment, not just an error
Upvotes: 0
Views: 83