1

我安裝了Visual Studio 2008 Professional(用SP1更新),然後我卸載了SQL Server 2005 Express並安裝了SQL Server 2005 Standard。
使用登錄控件與SQL服務器(不是快遞)

現在我不能「SQL Server數據庫」添加到項目 - 它說 連接到SQL Server文件(*密度纖維板)規定的SQL Server Express 2005正常工作。

它不符合SQL Server標準版本嗎?

和登錄自控還沒有working-
Web管理工具說 無法連接到SQL Server數據庫

與aspnet_regsql命令行實用程序也試過..不..工作(其實我不知道是什麼通過「aspnet_regsql命令行實用程序」)創建SQL Server數據庫

有人關閉這個問題,或標記爲刪除之前,請爲我的問題的解決方案之後進行,P :)

+1

沒有理由對任何人關閉這個問題,或將標記爲刪除,除非您的智能關於結束問題的評論。讀[faq]會更聰明很多。 –

+0

您可能需要重新安裝Visual Studio。 「修復」安裝可能就足夠了。您在系統上安裝SQL Server Express時安裝它;現在不是。你已經撒謊了,現在道歉並說實話。 –

+0

@JohnSaunders:那個關於結束問題的聰明評論只是爲了好玩。我覺得有些人可能會發現它太基本的問題,但我有嚴重的問題.. :) – dotNETbeginner

回答

2

的功能只是附加獨立.mdf文件作爲數據庫確實可用快速版本的SQL Server 只有

你應該在任何其他情況下做的是創造上的SQL Server實例的數據庫,並通過其數據庫名稱引用它 - 而不是它的.mdf文件名。

爲了創建ASP.NET成員資格和角色子系統所需的表和存儲過程,您需要對您的SQL Server實例使用aspnet_regsql實用程序。你說沒有工作 - 如何它不起作用?你有錯誤嗎?如果是這樣的話:什麼錯誤 ??

有關如何使用它的詳細信息,請參閱MSDN docs on aspnet_regsql。要創建ASP.NET成員資格和角色子系統,使用:

aspnet_regsql -S (your server name here) -E -A mr 

-E使用集成安全性(例如,當前的Windows登錄)連接到SQL服務器 - 用戶帳戶需要足夠的權限進行這些操作,當然!如果你需要一個特定的SQL Server用戶,那麼有兩個-U (username) -P (password)參數來實現這一點。

一旦你擁有了這一切,你還需要配置ASP.NET成員資格和角色子系統實際使用在於用你的SQL Server上創建新的數據庫(ASPNETDB)。默認情況下,它們使用連接到SQL Server Express實例的aspnetdb.mdf文件。既然你已經改變了,你需要更新你的配置!見how to do this in detail on MSDN

步驟1:連接字符串添加到您的新創建的數據庫

在你web.configapp.config,一個有效的連接字符串添加到您的新創建的ASP。NET的會員/角色數據庫 - 是這樣的:

<configuration> 
    <connectionStrings> 
     <add name="ASPNETDB_Connection" 
      connectionString="Server=YourServer;database=aspnetdb;Integrated Security=SSPI;" /> 
    </connectionStrings> 

步驟2: - 添加爲新的連接字符串你在步驟1中剛剛添加的ASP.NET成員子系統和參考的有效配置;是這樣的:

<configuration> 
    <system.web> 
     <membership defaultProvider="YourProvider" userIsOnlineTimeWindow="15"> 
      <providers> 
      <clear /> 
      <add name="YourProvider" 
        type="System.Web.Security.SqlMembershipProvider" 
        connectionStringName="ASPNETDB_Connection" 
        applicationName="MyApplication" 
        enablePasswordRetrieval="false" enablePasswordReset="true" 
        requiresQuestionAndAnswer="true" requiresUniqueEmail="true" 
        passwordFormat="Hashed" /> 
      </providers> 
     </membership> 

第3步:做角色子系統一樣的:

<configuration> 
    <system.web> 
     <roleManager defaultProvider="YourProvider" enabled="true" cacheRolesInCookie="true" > 
      <providers> 
      <clear /> 
      <add name="YourProvider" 
        type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"     
        connectionStringName="ASPNETDB_Connection" 
        applicationName="MyApplication" /> 
      </providers> 
     </roleManager> 
+0

是爲所有應用程序創建ASPNETDB還是爲每個應用程序創建單獨的數據庫?我可以使用由VS創建的現有ASPNETDB做些什麼嗎?如何在共享託管服務器上使用相同的ASPNETDB,我需要使用域名前綴創建任何數據庫? – dotNETbeginner

+0

@dotNETbeginner:它是**一個**數據庫,供所有應用程序使用。由Visual Studio提供的'ASPNETDB.MDF'文件可以連接到SQL Server並從那裏使用 - 沒有問題。不知道你最後的問題 - 不明白的問題/要求... –

+0

我的第二個問題的意思是,我現在創建了ASPNETDB,並且我也有由VS創建的ASPNETDB ..我可以將數據合併成一個我創建的實用程序?和約第三個問題,在共享虛擬主機服務,他們不提供任何專用服務器,所有域需要創建他們的域名前綴與DBS .. – dotNETbeginner