我正在尝试建立与名为PrimeMinisters的Microsoft Sql Server Express版数据库的连接,并收到以下错误。
Cannot open database "PrimeMinisters" requested by the login. The login failed. Login failed for user 'DESKTOP\Arian'.
我觉得我需要一个用户名和密码,但由于这只是供家庭使用,我不会在连接字符串中看到需要用户名和密码。
我在数据库资源管理器中添加了数据库作为新连接,这是我添加到事件处理程序的连接字符串。(桌面是我个人电脑的名称)
try
{
string connect = @"Data Source=DESKTOP\SQLEXPRESS; Initial Catalog=PrimeMinisters; Trusted_Connection=Yes;";
SqlConnection sqlConn = new SqlConnection(connect);
sqlConn.Open();
LabMessage.Text = "A connection has been established";
}
catch (Exception ex)
{
LabMessage.Text = ex.Message.ToString();
}
如何克服此错误消息并与数据库建立连接?
亲切的问候
答案 0 :(得分:3)
您的应用程序正确建立与SQL Server的通信,但服务器未授权您的当前用户(DESKTOP \ Arian)进行连接。您需要输入允许使用SQL Server的帐户的身份验证信息。
SQL Server允许两种身份验证模式:
对Windows帐户执行授权,在该帐户下运行连接应用程序。在您的情况下,您的应用程序在DESKTOP \ Arian下运行。要使用此功能,您应该将Integrated Security=SSPI
添加到连接字符串中。
其中仅为SQL Server实例创建帐户。这可以在安装期间或之后通过向具有足够权限的用户发出适当的命令来完成。要使用此类型的身份验证,请将集成安全性设置为false(Integrated Security=false
)并设置有效的用户名和密码(User Id=Arian;Password=secretsquirrel
)
如果您忘记了所有密码,可以take a look at this answer for instructions on how to reset a password。