gpt4 book ai didi

c# - 如何删除整个数据库并使用 sql 和 c# 重新创建它?

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:39 25 4
gpt4 key购买 nike

我想编写一个脚本,允许我连接到一个 sql 数据库,将数据库创建到一个文本文件,然后删除整个数据库。一旦完成,我希望能够重新创建整个数据库。这可能吗?

最佳答案

您可以使用 Microsoft.SqlServer.Management.Smo 命名空间来 generate a script ,就像您在 ssms 中一样。可能需要尝试几次才能获得 ScriptingOptions是的,所以不要过分热心并立即开始丢弃东西。

一旦您生成了脚本,这将是一个简单的 ExecuteNonQuery("drop database foo") 来删除您的数据库。

要重新创建,请使用相同的命名空间来执行脚本。使用普通的 ExecuteNonQuery 将不起作用,因为脚本将包含“GO”,这是无效的 sql。不过,SMO 确实包含处理该问题的逻辑。

FileInfo file = new FileInfo("C:\\script.sql");
string script = file.OpenText().ReadToEnd();
SqlConnection connection = new SqlConnection(connectionString);
Server server = new Server(new ServerConnection(connection ));
server.ConnectionContext.ExecuteNonQuery(script);

当然,这是假定使用对 sql server 具有足够权限的用户登录。

关于c# - 如何删除整个数据库并使用 sql 和 c# 重新创建它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7980200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com