连接到SQL Server Express

时间:2015-10-26 13:56:02

标签: c# asp.net sql-server ultidev

我刚刚开始使用SQL Server Express,其语法与任何其他版本的SQL Server相同,但是,我使用我的web.config文件来创建连接字符串并连接我的代码但我继​​续得到一个错误

  

类型' System.Data.SqlClient.SqlException'的异常发生在System.Data.dll中但未在用户代码中处理
  附加信息:无法打开数据库" 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>

新错误是:

  

其他信息:用户登录失败&#39; <#39;。

1 个答案:

答案 0 :(得分:4)

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