2017-02-23 77 views
0

我有一个Visual Studio 2012 SQL Server数据库项目,针对SQL Server 2012,添加了一个存储过程。我可以调试和发布该项目。 SP工作,因为我可以传入一个值,在代码中修改它,然后返回修改的值。我遇到的问题是当我尝试打开一个连接(SqlConnection.Open)到另一个SQL实例上的另一个数据库时,出现以下错误。试图打开SQL连接时请求权限错误

“请求类型的权限 'System.Data.SqlClient.SqlClientPermission,System.Data,版本= 4.0.0.0,文化=中性公钥= b77a5c561934e089' 失败”

被抛出相同的代码此错误在控制台应用程序中正常工作。

我是SQL Server数据库项目的新手,希望有任何帮助。我已经在寻找解决方案,但我已经能够找到任何相关的东西。顺便说一句,这是我第一次发布

这将引发错误:

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

这工作:

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

回答

0

SSDT的在Visual Studio 2012的版本是很老 - 下载最新的SSDT,如果你没有Visual Studio 2015,那么它会下载比2012版更好的外壳。

当前版本的SSDT适用于SQL 2012(2005年以后),所以没有理由坚持旧版本。

相关问题