Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中部署SQL存储过程#_C#_Sql_Stored Procedures - Fatal编程技术网

C# 在C中部署SQL存储过程#

C# 在C中部署SQL存储过程#,c#,sql,stored-procedures,C#,Sql,Stored Procedures,我的系统上有一个存储的proc.sql文件。我希望能够将此文件作为sp从C#代码移动到数据库中 我可以打开文件,以字符串形式读入并执行它,但我觉得应该有更好的方法。为什么不呢?这是一种简单的方法,可以从文件中读取sql脚本并执行它 我认为这样做很好Sql解析器必须编译“create procedure…”语句,将其转换为sp的服务器内部表示形式。即使可以找到解决方法,为什么?这是一种公认的将数据进出服务器的方法,即使数据是代码。您是说让存储过程驻留在数据库中,而不是在C代码中使用字符串查询吗

我的系统上有一个存储的proc.sql文件。我希望能够将此文件作为sp从C#代码移动到数据库中


我可以打开文件,以字符串形式读入并执行它,但我觉得应该有更好的方法。

为什么不呢?这是一种简单的方法,可以从文件中读取sql脚本并执行它

我认为这样做很好

Sql解析器必须编译“create procedure…”语句,将其转换为sp的服务器内部表示形式。即使可以找到解决方法,为什么?这是一种公认的将数据进出服务器的方法,即使数据是代码。

您是说让存储过程驻留在数据库中,而不是在C代码中使用字符串查询吗

我可能有点离谱,但你的问题不是很清楚


您研究过TSQL命令吗?

我认为没有一种方法可以实现您在C#或.net中寻找的功能。您可以使用SMO在sql server上获取存储的进程并将其保存到文件中,但反过来不行。如果要在计算机上直接执行.sql文件,可能必须使用powershell。

可以对正在使用的任何数据库服务器使用命令行工具来创建存储过程。使用正确的参数从C#执行exe

它们通常会接受文件名作为参数,因此不需要将sql作为字符串加载


不知道这是否是您想要的,但它应该会起作用。

我相信您正在寻找的是“SQL Server管理对象(SMO)”。它安装在SQL Server安装的“客户端工具”部分,您可以使用C#和Visual Studio 2008对其进行编程。

如果有,那么我想知道它,因为我就是这样做的。您希望能够直接在C#中执行存储过程吗?我想他希望运行代码在C#中创建SP,而不仅仅是运行它。(那太容易了)我想人们认为你就是这样做的。我主要是一名Python程序员,所以我一直在寻找优雅的解决方案。显然,这是最优雅的。