C# 尝试打开SQL连接时请求权限错误

C# 尝试打开SQL连接时请求权限错误,c#,sql-server-2012,sql-server-data-tools,C#,Sql Server 2012,Sql Server Data Tools,我有一个Visual Studio 2012 SQL Server数据库项目,目标是SQL Server 2012,它添加了一个存储过程。我可以调试和发布项目。SP可以工作,因为我可以传入一个值,在代码中修改它,然后返回修改后的值。我遇到的问题是,当我尝试在一个单独的SQL实例上打开到另一个数据库的连接(SqlConnection.open)时,我会遇到以下错误 请求“System.Data.SqlClient.SqlClientPermission,System.Data,Version=4.

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

请求“System.Data.SqlClient.SqlClientPermission,System.Data,Version=4.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”类型的权限失败

抛出此错误的代码在控制台应用程序中运行良好

我是SQL Server DB项目的新手,希望能得到任何帮助。我已经找到了一个解决方案,但我已经找到了任何相关的东西。顺便说一句,这是我第一次发帖

这会引发错误:

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();
    }
}
这是有效的:

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

Visual Studio 2012中的SSDT版本非常旧-请下载最新的SSDT,如果您没有Visual Studio 2015,则它将下载比2012版本更好的shell

SSDT的当前版本与SQL 2012(2005年以上)配合使用,因此没有理由坚持使用旧版本