我在過去幾天彈出此錯誤。我跟隨Asp.Net Mvc 4 and the Web Api: Building a REST Service from Start to Finish關於如何構建Rest服務API,然後一路走來,這是:無法打開本地計算機登錄請求的數據庫「ServicesDb」
無法打開登錄請求的數據庫「ServicesDb」。登錄失敗。
用戶'my-PC \ my'登錄失敗。
因此,我停了一會兒,讀了這本書,什麼也沒讀。所以我下載了book companion project,當我運行它時,我遇到了與我自己的服務相同的錯誤。
這讓我很震驚,因爲我一直使用本地數據庫引擎Windows Authentication
。當我使用Entity Framework時,我沒有任何問題,所以我開始認爲這與我第一次使用的NHibernate和Fluent Nhibernate有關。
連接字符串:
<connectionStrings>
<add name="ServicesDb"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDb)\v11.0;
<!-- connectionString="Server=(LocalDb)\v11.0; <----- Tried this too -->
initial catalog=ServicesDb;
Integrated Security=True;
Application Name=Services API Website" />
</connectionStrings>
有其他人遇到了這個問題,同時這本書以下?有誰知道什麼可能導致這種情況,我怎麼能通過它?
UPDATE:以下是未能執行的代碼,本書使用Ninject,我也是如此。
private void ConfigureNHibernate(IKernel container)
{
// Build the NHibernate ISessionFactory object
var sessionFactory = FluentNHibernate //Fails here, sessionFactory variable not instantiated.
.Cfg.Fluently.Configure()
.Database(
MsSqlConfiguration.MsSql2008.ConnectionString(
c => c.FromConnectionStringWithKey("ServicesDb")))
.CurrentSessionContext("web")
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<SqlCommandFactory>())
.BuildSessionFactory();
// Add the ISessionFactory instance to the container
container.Bind<ISessionFactory>().ToConstant(sessionFactory); //sessionFactory needed here
// Configure a resolver method to be used for creating ISession objects
container.Bind<ISession>().ToMethod(CreateSession);
container.Bind<ICurrentSessionContextAdapter>().To<CurrentSessionContextAdapter>();
}
我從來沒有遇到集成安全性= nhibernate爲True的問題 – syclee
也許嘗試使用簡單的'SqlConnection'連接字符串,看它是否有效。 –
我有一個類似的問題,我發現數據庫名稱是寫在幾個文件:Settings.settings,App.config,DataClasses1.dbml 奇怪的是我的程序運行(和正確的數據庫),但錯誤消息仍然在那裏 –