2016-07-13 60 views
-1

我在我的項目中有存儲過程的文件夾,所以在安裝應用程序時它讀取存儲過程文件並在服務器上執行它。存儲過程不能用dbo Schema創建

問題是,當SP名稱有dbo架構(CREATE PROCEDURE dbo.Procedure)它不會在服務器上創建SP,而如果沒有dboCREATE PROCEDURE Procedure)它將會在服務器

string sql = System.IO.File.ReadAllText(filePath, System.Text.Encoding.UTF8); 
var smoServer = new Microsoft.SqlServer.Management.Smo.Server(new Microsoft.SqlServer.Management.Common.ServerConnection(cn)); 
smoServer.ConnectionContext.ExecuteNonQuery(sql); 

上創建SP這是因爲服務器配置問題還是其他問題?

謝謝

+1

它會拋出任何錯誤,你可以保持一個調試點,並檢查? – TheGameiswar

+0

可能是一個權限問題。他們創建的模式是什麼? – Simon

+0

@Simon它的dbo,不,它不會拋出任何異常 – Gayan

回答

0

檢查用戶是否有權限在sql server上創建模式。創建dbo模式用戶應該擁有權限。

+0

是的用戶是一個dbowner – Gayan

+0

嘗試在sql管理工作室本身創建一個與dbo架構的過程,並檢查你是否得到任何錯誤。 – Dotnetpickles

+0

從代碼級別讀取文件時編碼是否重要? – Gayan