2011-05-27 213 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