连接到 SQL Server Express

Connect To SQL Server Express

我刚刚开始使用 SQL Server Express,它在语法上与任何其他版本的 SQL Server 相同,但是,我正在使用我的 web.config 文件来创建连接字符串并连接我的代码,但我不断收到

的错误

An exception of type 'System.Data.SqlClient.SqlException' occured in System.Data.dll but was not handled in user code
Additional information: Can not open database "TestSQL" requested by the log-in. The login failed.

这是我的语法,我正在使用 windows 身份验证。如果我使用此信息登录到服务器本身,我可以查询,但通过语法访问它不起作用。一旦我的 con.Open() 行被命中,就会抛出错误。

web.config:

<connectionStrings>
    <add name="SQLServer"
         connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=TestSQL;User ID=windowslogin; password=windowspassword; Integrated Security=True;"
         providerName="System.Data.SqlClient"/>
</connectionStrings>

C#代码:

public DataSet GetItems()
{
    connectionstring = ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString;
    using (SqlConnection con = new SqlConnection(connectionstring))
    {
      con.Open();
      using (SqlCommand command = new SqlCommand("Select [field1] from [TestSql].[dbo].[Table1]", con));
      con.Close();
    }
}

编辑:

我更新了我的 web.config 文件以包含这行代码,现在它显示了如下所示的新错误。另外,我使用 UltiDev Web App Explorer 来托管非 IIS

web.config:

<system.web>
    <identity impersonate="true" userName="windowsusername"   password="windowspassword" /?
</system.web>

新错误是:

Additional information: Login failed for user ''.

使用 IntegratedSecurity 时不能传递用户名和密码,没有它就不能使用 "windows" 用户帐户。您需要使用 SQL 登录(这在 SQL Express 中是可能的但并不容易)或 运行 asp.net 站点(或 impersonate)具有适当的数据库权限。