2012-06-13 109 views
0

我遇到的一件事是將應用程序部署到沒有安裝SMO的機器上。我想執行具有GO語句的腳本,但也想避免在目標機器上安裝SMO包或解析SQL腳本文件(因爲我不知道sql腳本是否包含函數或SP)。使用沒有SMO的GO語句執行SQL腳本

我試着手動將SMO relevenat dll複製到可執行文件的bin文件夾,但總是有一些其他dll需要運行該應用程序。

對此有何幫助?

+0

您需要提供什麼你正在嘗試做的更多的細節,您的預期結果以及您的具體問題。 – jrummell

+0

你爲什麼要使用GO語句? – Josien

+0

我有我需要執行的MSSQL腳本,但不知道它們的格式並且不得不支持執行包含GO語句的腳本 –

回答

3

除了SMO,sqlcmd實用程序還可以理解GO語句。您需要使用System.Diagnostics.Process才能以您的腳本作爲參數進行調用。

絕不我會說這是方式做到這一點,但它是一個有效的替代。如果該實用程序在目標計算機上不存在,您仍然遇到與以前相同的問題。

您可能還能夠與安裝程序包部署SMO沒有「安裝」,它在目標機器上:

Embedding SMO dlls in Setup and deployment