如何使用 SQL Management Studio 生成用于 C# 用法的脚本

发布于 2024-08-27 08:14:37 字数 151 浏览 8 评论 0原文

我想在 SMS 中创建数据库表,然后生成一个脚本,以便 C# 可以以编程方式创建表。我目前正在 Visual Studio 中一次对每个表进行手动编码。我认为最好在 SQL Management Studio 中创建表,然后生成脚本,以便 C# 可以稍后执行它。你们知道如何做到这一点吗?

I would like to create my database tables in SMS then generate a script so C# can create the tables programmitically. I am currently hand coding each table at a time in visual studio. I think its far better to create the tables in SQL management studio then generate a script so c# can execute it latter on. Do you guys have any idea how to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

悲念泪 2024-09-03 08:14:37

在 SQL Management Studio (2008) 中,您可以右键单击数据库,选择“任务”选项,然后选择“生成脚本”选项。向导将引导您为数据库中所需的任何内容生成一个或多个脚本。然后,您可以在 C# 中使用此脚本创建表/过程/其他内容。

编辑:
以下代码块应该执行其中包含 GO 语句的 sql 脚本(无论如何在 SQL 2008 上)

string script = File.ReadAllText("script.sql");
Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server();
server.ConnectionContext.LoginSecure = false;
server.ConnectionContext.Login = "user";
server.ConnectionContext.Password = "pass";
server.ConnectionContext.ServerInstance = "instance";
server.Databases["master"].ExecuteNonQuery(script);

In SQL Management Studio (2008) you can right click on the database, select the Tasks option, then the Generate Scripts option. A wizard will walk you through generating a script or scripts for whatever you need in your database. You can then use this scripts in C# create tables/procedures/whatever.

Edit:
The following chunk of code should execute sql scripts with GO statements in them (on SQL 2008 anyway)

string script = File.ReadAllText("script.sql");
Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server();
server.ConnectionContext.LoginSecure = false;
server.ConnectionContext.Login = "user";
server.ConnectionContext.Password = "pass";
server.ConnectionContext.ServerInstance = "instance";
server.Databases["master"].ExecuteNonQuery(script);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文