C# 本地数据库连接字符串不起作用,但上下文连接起作用

C# 本地数据库连接字符串不起作用,但上下文连接起作用,c#,.net,visual-studio-2012,clr,C#,.net,Visual Studio 2012,Clr,我放弃了。我在谷歌上搜索过,读过很多这样的帖子。。。我无法理解这一点。我在Visual Studio 2012.NET 3.5中工作,连接到本地db实例进行测试。如果我使用 string cnn = @"Context Connection=True"; using (SqlConnection connection = new SqlConnection(cnn)) { connection.Open(); 我连接,我的代码工作。我现在

我放弃了。我在谷歌上搜索过,读过很多这样的帖子。。。我无法理解这一点。我在Visual Studio 2012.NET 3.5中工作,连接到本地db实例进行测试。如果我使用

string cnn = @"Context Connection=True";
        using (SqlConnection connection = new SqlConnection(cnn))
        {
            connection.Open();
我连接,我的代码工作。我现在需要向这个解决方案添加一个
SqlbulkCopy
。为此,我将连接字符串切换为:

string cnn = @"Data source= (localdb)\ProjectsV12; Database=TableTesting; Trusted_Connection=True;";
        using (SqlConnection connection = new SqlConnection(cnn))
        {
            connection.Open();
无论我如何处理连接字符串,都会出现以下错误:

A .NET Framework error occurred during execution of user-defined routine or aggregate "WorkTable": 
System.Security.SecurityException: Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
System.Security.SecurityException: 
   at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
   at System.Security.PermissionSet.Demand()
   at System.Data.Common.DbConnectionOptions.DemandPermission()
   at System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.Open()
   at StoredProcedures.WorkTable(String o)

我就是想不出如何调试/修复/纠正这个问题。

在经历了许多令人头痛的困惑之后。。。似乎
权限级别
需要
不安全
并且必须为此连接检查
可信
\\ProjectsV12;初始目录=表格测试;集成安全性=True;连接超时=30;加密=False;TrustServerCertificate=False;ApplicationContent=读写;MultiSubnetFailover=False”
正常工作。

那么您认为在
connection.Open()
语句上发生异常?此外,我在您的代码中没有看到
SqlBulkCopy
。此外,此代码是否正在SQL Server中的SQL CLR存储过程中运行?@STLDeveloper是CLR sp;当我逐步使用调试器时,代码会爆炸并返回
connection.Open()
行上的错误。而且,完整的代码相当长,所以我只发布了有问题的代码。调试器就停在那里。如果我使用
“Context connection=True”
字符串,那么代码会一直运行(通过
连接.Open()
),直到它到达
SqlBulkCopy
调用。据我所知,
SqlBulkCopy
不适用于上下文连接。这不正确吗?我只做了一点SQL CLR,而没有做SqlBulkCopy,所以可能不会有太大帮助。似乎您在某个地方存在权限问题。我知道当使用上下文连接时,身份验证被绕过,所以这可能就是上下文连接工作而正常连接失败的原因。@STLDeveloper同意这是某种权限问题。我只是不知道如何判断是不是VS2012安装的本地MSSQLSExpress实例出了问题。