2010-03-01 16 views
1

我創建了一個遠程連接到SQL Server 2008的應用程序。SQL連接工作和所有傳統的oCommand.ExecuteNonQuery()都很好用!SMO錯過了客戶端上的dll

但我的SMO類使用server.ConnectionContext.ExecuteNonQuery(scriptfile); 錯誤:缺少批處理parsing.dll。

我不能在客戶機上安裝這些獨立utils的,然後做的時候把它們全部關閉: 所建議:http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=228de03f-3b5a-428a-923f-58a033d316e1

由於我的批量插入是包含完整的表大內存豬,我將表寫入temptable.sql文件並使用SQLCMD Util以及稍後切換SMO,並且遇到同樣的問題。這些都不能在客戶端的個人電腦上使用。任何建議?感謝:-)

回答

0

好吧,兩件事情:

  • ,如果你想在你的應用程序使用SMO

    ,你需要確保的SMO組件被安裝在客戶機上。您可以從Microsoft獲取SMO二進制文件,並且可以將它們與您的應用程序一起發貨並安裝 - 但這是您合法將這些文件傳輸到客戶計算機上的唯一方法。出SqlBulkCopy類。這是專門爲批量插入大量數據而設計的,它是ADO.NET 2.0的一部分 - 無需額外安裝。在SQL Server Bulk Operations的MSDN庫中有一整段 - 請查看!