2010-10-12 47 views
0

我有一个程序可以在多台机器上运行。我无法控制该程序将在哪个机器上运行,但所有机器都将链接到位于某个服务器上的同一个数据库。在目标机器上运行脚本而不在该机器上安装SQL Server

程序可能需要运行一个以.sql文本文件形式接收的脚本。

目前,该程序正在启动osql与适当的参数来运行此脚本,并且工作正常。

但是,一些运行此程序的机器没有MS SQL Server(或Express),所以osql无法在该机器上运行。

我无法控制这些机器将运行它,或迫使那些机器的所有者安装MS SQL Express中,所以我需要执行下列操作之一:

  1. 找到替代品,以osql我可以与我的程序一起分发,并用于运行脚本。

  2. 在C#中使用内置函数从文件运行脚本。我试图读取该文件,并通过命令的SQL服务器上运行命令,但就是这样慢(脚本文件可能是在某些情况下,真正的大)

在此先感谢。

+1

根据我的经验,编写控制台应用程序以读取.sql文件并使用.NET System.Data.SqlClient命名空间中的类对SQL Server执行它应该非常快速,与osql相比。您只需要将文件分为批处理(默认情况下,由“GO”语句分隔),而不是单个命令。也许这会为你带来更好的表现。 – 2010-10-12 13:11:58

回答

相关问题