6

我正在使用SQL Server 2008 R2 Express和我的数据库中的“SQL Server和Windows身份验证”模式。我可以打开使用Enterprise Manager数据库,但是当我跑我的aspx程序,我碰到:SQL Server 2008 R2 Express错误:无法打开登录请求的数据库“PersonnelPro”。登录失败

Cannot open database "PersonnelPro" requested by the login. The login failed.

我的web.config连接字符串是:

<add name="dbString" 
    connectionString="Provider=sqloledb;Data Source=AREA51\SQLEXPRESS;Initial Catalog=PersonnelPro;User Id= ****;Password= ****" />` 

我在网上搜索和SO,但找不到解决方案。任何想法会导致这个问题?

更新:
展望SQL日志文件( “C:\ Program Files文件\ Microsoft SQL Server的\ MSSQL10_50.SQLEXPRESS \ MSSQL \日志”),我觉得这一点:

2012-12-21 05:58:00.97 Logon  Error: 18456, Severity: 14, State: 38. 
2012-12-21 05:58:00.97 Logon  Login failed for user 'PersonnelPro'. Reason: Failed to open the explicitly specified database. [CLIENT: <named pipe>] 

此网页应用程序由第三方公司提供。所以在技术上,我只需要配置我的web.config文件,它应该工作。

+1

我要开始的第一个地方是删除'Provider = sqloledb;'并检查您的用户名和密码。 – Khan

+0

Provider = sqloledb由应用程序供应商提供(他们停业)。用户名和密码已经过验证(因为我已经从web.config文件复制了uid&pwd,将其粘贴到企业管理器中,并且它可以正常工作)。 – DotNetRookie

+0

@JefferyKhan当我删除“提供程序= sqloledb”我得到一个错误,读取:一个OLE DB提供程序未在ConnectionString中指定。一个例子是'Provider = SQLOLEDB'。 – DotNetRookie

回答

2

删除用户ID和密码的'='符号后的空格。我认为这被解释为价值的一部分。

更新:

你贴(无法打开明确指定的数据库。)可能意味着两种情况之一的新的错误消息:

  • 的DB与名称不存在或拼写错误。
  • 您尝试登录的用户无权访问数据库。您可以通过在数据库中运行exec sp_helpuser 'username'来检查这一点。
+0

我删除了空间,但仍然得到相同的错误信息。 – DotNetRookie

+0

数据库名称是一个错字。 – DotNetRookie

相关问题