2009-11-19 48 views
0

mdf文件在App_data文件夾下正常工作,但在將其附加到sql server後,在運行asp.net頁面時出現以下錯誤。mdf文件在App_data文件夾下正常工作,但在連接到sql server後出現以下錯誤

無法打開用戶默認數據庫。登錄失敗。 用戶'Domain \ myUserName'登錄失敗。

更多信息; SQL數據源和連接字符串。

<asp:SqlDataSource 
     id="srcFiles" 
     ConnectionString="Server=.\SQLExpress;Integrated Security=True; 
      AttachDbFileName=|DataDirectory|FilesDB.mdf;User Instance=True" 
     SelectCommand="SELECT Id,FileName FROM Files" 
     InsertCommand="INSERT Files (FileName,FileBytes) VALUES (@FileName,@FileBytes)" 
     Runat="server"> 
     <InsertParameters> 
      <asp:ControlParameter Name="FileName" ControlID="upFile" PropertyName="FileName" /> 
      <asp:ControlParameter Name="FileBytes" ControlID="upFile" PropertyName="FileBytes" /> 
     </InsertParameters> 
    </asp:SqlDataSource> 

回答

0

可以確保你指定正確的SQL用戶名和密碼,或者你可以給「域\ MyUserName輸入」訪問您的數據庫。 檢查下面的連接字符串。

Connection string samples

+0

你指定=您指定 – 2009-11-19 16:03:12

+0

請查看我的連接字符串代碼。 – 2009-11-19 16:36:18

+0

EXEC sp_grantlogin '域\ MyUserName輸入' 使用YOURDBNAME EXEC sp_grantdbaccess '域\ MyUserName輸入' 你應該看看下面的鏈接 http://forums.asp.net/t/1296417.aspx – 2009-11-19 20:06:14

0

我不知道怎麼的MDF文件是「正常」,如果它只是坐在一個文件夾中,而且沒有連接到SQL Server。 「正常工作」是什麼意思?

無論如何,什麼版本的SQL Server?您可以使用sp_defaultdb設置默認數據庫爲登錄,你知道其他數據庫是存在的,例如:

EXEC sp_defaultdb @loginame = 'Domain\myUserName', @defdb = 'tempdb'; 

TechNet: sp_defaultdb

如果您使用的是SQL Server 2005或2008年,你應該使用ALTER LOGIN相反,例如

ALTER LOGIN [Domain\MyUserName] SET DEFAULT_DATABASE = tempdb; 

TechNet : ALTER LOGIN

0

如果您正在使用Visual Studio和你已經創建了一個本地數據庫的方式,並想知道「正確的」連接字符串就是:

1)打開服務器資源管理器

2)在「數據連接」,選擇您的數據庫,然後選擇「屬性」

3)看看「連接字符串」 p roperty。

這就是你必須使用的。

在你的情況,它可能是不正確的,因爲你沒有指定'數據源'參數。這裏是一個有效的連接字符串的例子:

數據源= \ SQLEXPRESS; AttachDbFilename = | DataDirectory目錄| \ Database1.mdf;集成安全性=真;用戶實例=真

相關問題