无法从C#(VS2010)连接到SQL Server 2008 Express

无法从C#(VS2010)连接到SQL Server 2008 Express,c#,sql,sql-server-2008,C#,Sql,Sql Server 2008,可能重复: 我第一次尝试为数据库编写C#前端,现在进展非常糟糕,希望我能得到一些帮助 我下载并安装了VS2010(90天试用版)和SQL Server Express 2008 R2的新副本。我创建了一个名为MyDB的新数据库。如果打开SQL Server Configuration Manager,我可以看到SQL Server(MyDB)和SQL Server Browser都在运行。我可以使用SQLServerManagementStudio连接到服务器,创建新的数据库、表等 在VS中,

可能重复:

我第一次尝试为数据库编写C#前端,现在进展非常糟糕,希望我能得到一些帮助

我下载并安装了VS2010(90天试用版)和SQL Server Express 2008 R2的新副本。我创建了一个名为MyDB的新数据库。如果打开SQL Server Configuration Manager,我可以看到SQL Server(MyDB)和SQL Server Browser都在运行。我可以使用SQLServerManagementStudio连接到服务器,创建新的数据库、表等

在VS中,我导入了System.Data.SqlClient。我创建了一个这样的新连接

SqlConnection myDatabase = new SqlConnection(@"Data Source=localhost\MyDB;Initial Catalog=main;Trusted_Connection=True");
然而,当我试图打开它时

myDatabase.Open();
我得到一个安全例外:

请求“System.Data.SqlClient.SqlClientPermission,System.Data”类型的权限, 版本=4.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089' 失败了


我在网上读过一堆相关的SO帖子,但没有进一步的进展。我在Config Mgr中启用了每个协议,我无数次重新启动了服务,在我能找到的任何地方添加了用户权限,并尝试在连接字符串中使用“用户id”和“密码”而不是可信连接。Nada。

我自己用VS2010和SQL Server 2008 R8开发应用程序。我真希望我知道你在开发什么样的应用程序,因为我不知道你想如何连接到数据库。第二,SQLServer2008R8与3.5.net配合使用效果最好,因为您使用的是4.0,请确保安装了正确的SQLServer。如果我没弄错的话,你需要SP1来使用4.0

不管怎样,这是我的设置

<appSettings>
<add key="DataServerLEGOCUSTOM" value="GP2010LEGOCUSTOM"/>
<add key="DataServerLEGO" value="GP2010LEGO"/>
</appSettings>

<connectionStrings>
<add name="GP2010LEGOCUSTOM" connectionString="Data Source=GP2010;Initial Catalog=LEGOCUSTOM;Persist Security Info=True;User ID=XX;Password=XXY" providerName="System.Data.SqlClient"/>
<add name="GP2010LEGO" connectionString="Data Source=GP2010;Initial Catalog=LEGO;Persist Security Info=True;User ID=XX;Password=XXY" providerName="System.Data.SqlClient"/>
</connectionStrings>

这基本上是连接sql数据库的另一种方式。尽管Persist Security Info=True实际上可能会解决您的问题。希望这能有所帮助

你创建了什么样的C#项目?第一步,请尝试使用控制台程序来确定发生了什么。“请参阅以下文章来配置程序集,以确保将其设置为fulltrust。”(注意,链接特定于SSR)。您可能需要为您的程序集使用相同的方法。您是否尝试过此方法:@AlexR。有一个比我的更好的链接comment@Alex我以前将我的项目设置为完全信任,并创建了一个证书。以防万一,我删除了我的项目并创建了一个新项目,启用了完全信任并生成了一个新的签名测试证书,现在它工作正常!谢谢。如果你发布一个答案,我很乐意接受,并且我会重复另一个链接。
public class Database
{
    private string serverLEGOCUSTOM, serverLEGO;
    private string ConnectionStringLEGOCUSTOM, ConnectionStringLEGO;
    private SqlConnection connectionLEGOCUSTOM, connectionLEGO;

    public Database()
    { 
        serverLEGOCUSTOM = ConfigurationManager.AppSettings["DataServerLEGOCUSTOM"];
        ConnectionStringLEGOCUSTOM = ConfigurationManager.ConnectionStrings[serverLEGOCUSTOM.ToString();
        connectionLEGOCUSTOM = new SqlConnection(ConnectionStringLEGOCUSTOM);
        serverLEGO = ConfigurationManager.AppSettings["DataServerPCI"]
        ConnectionStringLEGO = ConfigurationManager.ConnectionStrings["serverLEGO"].ToString();
        connectionLEGO = new SqlConnection(ConnectionStringLEGO);
    }