0

ASP.NET新手。分配ASP.NET用戶/表單身份驗證數據庫

在visual Studio 2010 Ultimate中,我創建了一個新的ASP.Net 3.5網站,然後使用放在頁面上的工具箱控件添加表單身份驗證。在我的測試環境中使用這些控件創建新用戶後,在項目的App_Data文件夾內創建了名爲ASPNETDB.MDF的數據庫。

Data Source=.\SQLEXPRESS;AttachDbFilename=C|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True 

現在我準備把網站我的虛擬主機:

我還通過添加表它,我使用連接字符串中的代碼訪問的網頁表單的網站上進行修改,這個數據庫,1and1.com。我在1and1控制面板中創建了一個數據庫。該的1and1幫助頁面說,使用一個連接字符串,如下面連接到的1and1託管SQL Server數據庫:

server=mydbHostName.db.1and1.com; initial catalog=mydbName;uid=mydbUser;pwd=mydbPassword 

我已經測試此連接,可以創建並使用此連接字符串訪問表。

我的問題是我如何告訴表單身份驗證在1and1服務器上使用這個新的數據庫?

回答

1

這一切都在你的web.config文件中。你應該看到的東西,看起來像:

<membership defaultProvider="DefaultMembershipProvider"> 
     <providers> 
     <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" <snip> applicationName="/" /> 
     </providers> 
    </membership> 

的的connectionStringName指向connectionStrings節中定義的連接字符串 - 只要確保你更改屬性的成員資格提供相匹配時使用的連接字符串名稱(或相反亦然)。

+0

謝謝。爲了做到這一點,我需要將數據庫導入(或創建)到1and1服務器中。是否有捷徑可尋? 1and1可以接受.bak文件。我試圖創建一個SQL腳本來在1and1服務器上創建模式,但遇到了難以追查的「校對衝突」錯誤。再次,有沒有一個簡單的方法來做到這一點? – MindSpiker 2013-02-28 23:53:44

+0

終於搞定了。對於其他嘗試將ASP表單身份驗證或成員數據庫架構獲取到1and1服務器上的人,請首先運行C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regsql.exe -S mydbHostName.db.1and1.com -sqlexportonly腳本.sql -A all -d mydbName -U mydbUserID -P mydbPassword用您的信息代替'mydb ...'參數。然後打開它創建的script.sql文件。然後將其內容複製並粘貼到數據庫工具內的查詢分析器中,然後點擊提交,等待一分鐘左右完成。 – MindSpiker 2013-03-01 00:55:24

0

嗯,這實際上是一個不同的問題,但無論如何 - 您可以使用BACKUP命令通過SSMS或右鍵單擊SSMS中的數據庫並從任務菜單中選擇Back Up來創建數據庫備份 - 這將創建您的.bak文件,您可以使用FTP上傳到1and1。然後進入他們的SQL管理器,或使用SSMS連接到SQL Server實例(我不是1and1用戶,但大多數主機讓您使用您的託管帳戶中的SQL Server憑據進行連接),並從.bak恢復數據庫文件。在不檢查腳本和1and1 SQL Server配置的情況下,我無法告訴你爲什麼會出現排序錯誤 - 可能是SQLExpress(這是ASP.Net配置文件管理的默認設置)和SQL Server 1and1運行的任何版本之間的區別。無論如何,在沒有通過基於Web的工具的情況下,您在1and1服務器上可能沒有「創建數據庫」權限。將數據庫連接到1and1服務器後,應用程序應使用它們提供的連接字符串進行連接 - 只需確保服務器位置和數據庫名稱正確。

相關問題