C# 尝试打开SQL连接时请求权限错误
我有一个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项目的新手,希望能得到任何帮助。我已经找到了一个解决方案,但我已经找到了任何相关的东西。顺便说一句,这是我第一次发帖 这会引发错误: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.
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年以上)配合使用,因此没有理由坚持使用旧版本