2017-02-23 4 views
0

Ich habe ein Visual Studio 2012 SQL Server-Datenbankprojekt mit Ausrichtung auf SQL Server 2012, dem eine Stored Procedure hinzugefügt wurde. Ich kann das Projekt debuggen und veröffentlichen. Der SP funktioniert, indem ich einen Wert übergeben, im Code ändern und dann den geänderten Wert zurückgeben kann. Das Problem, das auftritt, wenn ich versuche, eine Verbindung (SqlConnection.Open) zu einer anderen Datenbank in einer separaten SQL-Instanz zu öffnen, erhalte den folgenden Fehler.Anforderung für Berechtigungsfehler beim Versuch, SQL-Verbindung zu öffnen

"Antrag auf Genehmigung des Typs 'System.Data.SqlClient.SqlClientPermission, System.Data, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' ist fehlgeschlagen"

den gleichen Code, der zu werfen ist Dieser Fehler funktioniert in einer Konsolenanwendung einwandfrei.

Ich bin neu bei SQL Server DB Projects und würde mich über jede Hilfe freuen. Ich habe nach einer Lösung gesucht, aber ich konnte etwas Relevantes finden. BTW, dies ist mein erstes Mal

Posting Dieser wirft Fehler:

public partial class StoredProcedures 
{ 

    [Microsoft.SqlServer.Server.SqlProcedure] 
    public static SqlInt32 SqlStoredProcedure3 (SqlInt32 inInt, out SqlInt32 outInt) 
    { 
     SqlConnectionStringBuilder connBuilder = new SqlConnectionStringBuilder(); 
     connBuilder.DataSource = "mySqlInstance"; 
     connBuilder.InitialCatalog = "myDbName"; 
     connBuilder.IntegratedSecurity = false; 
     connBuilder.UserID = "myUserName"; 
     connBuilder.Password = "myPW"; 
     SqlConnection sqlCn = new SqlConnection(connBuilder.ConnectionString); 
     sqlCn.Open(); 
    } 
} 

Dies funktioniert:

class Program 
{ 
    static void Main(string[] args) 
    { 
     SqlConnectionStringBuilder connBuilder = new SqlConnectionStringBuilder(); 
     connBuilder.DataSource = "mySqlInstance"; 
     connBuilder.InitialCatalog = "myDbName"; 
     connBuilder.IntegratedSecurity = false; 
     connBuilder.UserID = "myUserName"; 
     connBuilder.Password = "myPW"; 
     SqlConnection sqlCn = new SqlConnection(connBuilder.ConnectionString); 
     sqlCn.Open(); 
    } 
} 

Antwort

0

Die Version von SSDT in Visual Studio 2012 ist sehr alt - Download die neueste SSDT, wenn du nicht das Visual Studio 2015 hast, dann wird es die Shell herunterladen, die immer noch besser ist als die 2012er Version.

Die aktuelle Version von SSDT funktioniert mit SQL 2012 (ab 2005), daher gibt es keinen Grund, eine alte Version beizubehalten.

Verwandte Themen