2016-07-13 14 views
-1

Ich habe Ordner mit gespeicherten Prozeduren in meinem Projekt, so dass bei der Installation der Anwendung liest es die gespeicherte Prozedurdatei und führt es auf dem Server.Gespeicherte Prozedur nicht mit dbo-Schema erstellen

Das Problem ist, wenn sp Name dbo Schema hat (CREATE PROCEDURE dbo.Procedure) es nicht sp auf dem Server erstellen, während, wenn sie nicht dbo (CREATE PROCEDURE Procedure) haben es sp auf dem Server

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); 

schaffen liegt das an einem Serverkonfigurationsproblem oder etwas anderem?

dank

+1

wirft es jeden Fehler, können Sie einen Debug-Punkt halten und überprüfen? – TheGameiswar

+0

Könnte ein Berechtigungsproblem sein. Mit welchem ​​Schema werden sie erstellt? – Simon

+0

@Simon es ist dbo und nein es wirft keine Ausnahme – Gayan

Antwort

0

prüfen, ob der Benutzer die Rechte Schema auf dem SQL-Server zu erstellen hat. Um das dbo-Schema zu erstellen, sollte der Benutzer Rechte haben.

+0

yeah ist ein dbowner – Gayan

+0

Versuchen Sie, ein Proc mit Dbo-Schema in der SQL-Management-Studio selbst zu erstellen und überprüfen Sie, ob Sie einen Fehler erhalten. – Dotnetpickles

+0

spielt es bei der Codierung eine Rolle, während die Datei von der Codeebene gelesen wird? – Gayan