0

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

System.Data.dll 中出现“System.Data.SqlClient.SqlException”类型的异常,但未在用户代码中处理
附加信息:无法打开登录请求的数据库“TestSQL”。登录失败。

这是我的语法,我正在使用 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>

新的错误是:

附加信息:用户“”登录失败。

4

1 回答 1

4

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

于 2015-10-26T14:07:23.453 回答