我的代码行(我还是新手。); 我试图在C#上导出表格,所以在搜索并尝试了几个小时后我遇到了这个问题
private void Button_Click(object sender, EventArgs e)
{
Server server = new Server();
Database sourceDB = server.Databases["KaynakDB"];
Table table = sourceDB.Tables["AnaTablo"];
Database targetDB = server.Databases["KopyaDB"];
foreach (String query in table.Script())
try
{
targetDB.ExecuteNonQuery(query);
}
catch (Exception asd)
{
MessageBox.Show(asd.Message);
}
}
错误消息是
FailedOperationException was unhandled
An unhandled exception of type 'Microsoft.SqlServer.Management.Smo.FailedOperationException'
occurred in Microsoft.SqlServer.Smo.dll
当我转到“详细信息”页面时,它显示“ExecuteNonQuery数据库失败”KopyaDB“。”
“try-catch”也是这样说的。
我错过了什么吗?
答案 0 :(得分:0)
table.Script()返回查询的单独行的集合,因此您可能希望首先将它们存储在StringBuilder中,然后作为整体执行查询。
var sb = new StringBuilder();
foreach(var line in table.Script()){
sb.AppendLine(line);
}
targetDB.ExecuteNonQuery(sb.ToString());
希望这有帮助。