我有一個程序可以在多臺機器上運行。我無法控制該程序將在哪個機器上運行,但所有機器都將鏈接到位於某個服務器上的同一個數據庫。在目標機器上運行腳本而不在該機器上安裝SQL Server
程序可能需要運行一個以.sql文本文件形式接收的腳本。
目前,該程序正在啓動osql與適當的參數來運行此腳本,並且工作正常。
但是,一些運行此程序的機器沒有MS SQL Server(或Express),所以osql無法在該機器上運行。
我無法控制這些機器將運行它,或迫使那些機器的所有者安裝MS SQL Express中,所以我需要執行下列操作之一:
找到替代品,以
osql
我可以與我的程序一起分發,並用於運行腳本。在C#中使用內置函數從文件運行腳本。我試圖讀取該文件,並通過命令的SQL服務器上運行命令,但就是這樣慢(腳本文件可能是在某些情況下,真正的大)
在此先感謝。
根據我的經驗,編寫控制檯應用程序以讀取.sql文件並使用.NET System.Data.SqlClient命名空間中的類對SQL Server執行它應該非常快速,與osql相比。您只需要將文件分爲批處理(默認情況下,由「GO」語句分隔),而不是單個命令。也許這會爲你帶來更好的表現。 – 2010-10-12 13:11:58