2011-05-27 170 views
1

这是我的连接字符串:访问数据库连接字符串

<add name="modelConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename='D:\Documents and Settings\Dima\My Documents\Visual Studio 2010\WebSites\WebSite10\App_Data\ASPNETDB.MDF';Integrated Security=True;User Instance=True;" providerName="System.Data.SqlClient"/> 

它停止抛出异常,但访问似乎并不当我回答确认问题的工作,事业的数据库,它说,这是错了,不会让我进来!

<membership defaultProvider="MyMembershipProvider"> 

    <providers> 
    <clear/> 
    <add 
    name="MyMembershipProvider"  
    type="System.Web.Security.SqlMembershipProvider"  
    connectionStringName="modelConnectionString"    
    minRequiredPasswordLength="1"   
    minRequiredNonalphanumericCharacters="0" 
    enablePasswordReset="true" 
    maxInvalidPasswordAttempts="1000" 
    passwordAttemptWindow="4000" 
    enablePasswordRetrieval="true" 
    requiresUniqueEmail="false" 
    passwordFormat="Encrypted" 
    applicationName="/WebSite10" 

    /> 
    </providers> 
</membership> 
+0

首先检查您正在连接的Sql Server的身份验证模式,然后让我知道所有的细节。 – Saurabh 2011-05-27 08:40:01

+0

您是否在sqlserver中创建了aspnet用户?您授予了什么特权 – Devjosh 2011-05-27 08:44:20

+0

身份验证模式为“Forms”..不幸的是,我不知道制作aspnet用户和特权的过程。 – 2011-05-27 09:02:40

回答

2

您尚未在连接字符串中指定数据库名称 - 在顶部指定数据库文件的位置,您应在其中声明数据库名称。

Server=.\SQLExpress;AttachDbFilename=c:\asd\qwe\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes; 

如果您要附加一个数据库文件到SQL的本地实例,那么你需要使用AttachDbFilename属性。

+0

为什么我需要使用SQLExpress而不是本地服务器..默认服务器?..好吧,我不附加它。它是aspnetdb,它是由visual studio 2010自动创建的 – 2011-05-27 09:05:34

+0

您不需要使用SQLExpress,这只是一个示例实例名称。您需要指定要附加到的数据库的服务器实例的位置。 – 2011-05-27 09:07:53

+0

我添加了您的修改。现在它不会抛出异常,它只是说用户名不在数据库中。该实例在visual studio中的服务器资源管理器中。它是由程序(VS2010)添加的,而不是由我添加的 – 2011-05-27 09:08:06

1

你不能通过Visual Studio服务器浏览器创建连接。您可以使用正确的凭据登录到服务器,然后将正确的连接字符串保存到配置文件中。

有一个microsoft knowledge base article!在这。

+0

感谢您的链接。但是你能看出为什么我无法用上面的连接字符串之一连接到数据库吗? – 2011-05-27 09:06:37