c#从ms sql数据库创建.bacpac文件

c#从ms sql数据库创建.bacpac文件,c#,C#,我尝试从我的完整数据库创建一个bacpac文件 我添加了Microsoft.SqlServer.Dac.dll,并创建了DacService。在服务中,我调用ExportBacpac方法。但我总是得到一个错误,即数据库源不受SQL Server版本的支持 这是我的密码: SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder(); csb.DataSource = txtServerStart.Text; csb.Passw

我尝试从我的完整数据库创建一个bacpac文件

我添加了
Microsoft.SqlServer.Dac.dll
,并创建了
DacService
。在服务中,我调用
ExportBacpac
方法。但我总是得到一个错误,即数据库源不受SQL Server版本的支持

这是我的密码:

SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder();
csb.DataSource = txtServerStart.Text;
csb.Password = txtPassword.Text;
csb.UserID = txtUserName.Text;

DacServices ds = new DacServices(csb.ConnectionString);
ds.ExportBacpac(@"C:\backup\backup.bacpac" + txtFilename.Text, cbDatabase.SelectedItem.ToString());

错误出现在我调用ExportBacpac方法的那一行。

问题是我使用的是MS SQL Server 2016,Dac DLL的版本太旧了。我用了12.xxxxx,但我需要13.xxxxxx


在我引用这些DLL后,它工作正常

问题是我使用的是MS SQL Server 2016,Dac DLL的版本太旧了。我用了12.xxxxx,但我需要13.xxxxxx


在我引用了这些DLL后,它运行良好

,可能是因为.bacpac仅受Azure上SQL数据库的支持。你的数据库是在Azure上还是在本地?@VivekJain-你的说法是基于什么?我刚刚使用SSMS连接到一个本地数据库,选择一个数据库,右键单击,选择
Tasks->Export Data Tier Application
,通过一个向导,它为我创建了一个
.bacpac
文件。(服务器/SSM是2012年的,没有理由相信它在其他版本上是不可能的)可能是因为.bacpac仅受Azure上SQL数据库的支持。你的数据库是在Azure上还是在本地?@VivekJain-你的说法是基于什么?我刚刚使用SSMS连接到一个本地数据库,选择一个数据库,右键单击,选择
Tasks->Export Data Tier Application
,通过一个向导,它为我创建了一个
.bacpac
文件。(服务器/SSM是2012年的,但没有理由相信在其他版本上不可能实现)