2012-08-24 48 views
0

當程序試圖打開我得到的數據庫:用戶實例給出了一個錯誤

錯誤消息:無法打開數據庫「Chinatowndb」由登錄請求。登錄失敗。 用戶'Lee-VAIO \ Lee'登錄失敗。

碼是用於連接字符串:

conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=Chinatowndb;Integrated Security=True;User Instance=True");

如果我的代碼更改爲:

conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=Chinatowndb;Integrated Security=True");

它的工作原理。現在我有另一個程序使用第一個連接字符串,不同的數據庫,它的工作原理。請注意,另一個程序具有包含App_Data文件夾的.mdf文件。 Chinatowndb.mdf存儲在C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.SQLEXPRESS \ MSSQL \ DATA。

爲什麼錯誤?

回答

0

對於MDF數據庫,則必須更改字符串連接格式,它不一樣

Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes; 

Or 

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; 

數據庫= DBNAME; Trusted_Connection =是;

鏈接:

0
如果你這樣做

Go to Query Window in SQL Server Management Studio and type this: 

exec sp_configure 'user instances enabled', 1. 
Go 
Reconfigure 

還閱讀下面

Using an User Instance on a local SQL Server Express instance

用戶實例功能

第一個將工作在飛行中創建一個新的SQL Server實例在連接期間。這僅適用於本地SQL Server實例,並且僅在通過本地命名管道使用Windows身份驗證進行連接時才起作用。目的是爲了能夠爲計算機上具有有限管理權限的用戶創建完整權限的SQL Server實例。

Data Source=.\SQLExpress;Integrated Security=true; AttachDbFilename=|DataDirectory|\mydb.mdf;User Instance=true;

要使用你需要啓用它在SQL Server上的用戶實例功能。這是通過執行以下命令完成的:sp_configure'user instances enabled','1'。要禁用該功能,請執行sp_configure'enabled instances enabled','0'。

+0

我運行了查詢,給出了消息:'配置選項'用戶實例啓用'從1更改爲1。運行RECONFIGURE語句進行安裝。'那它已經啓用了? – TeaDrinkingGeek

+0

@ TeaDrinkingGeek-但如上所述「僅適用於本地SQL Server實例」,可能會在這裏做一些技巧 –

0

在我的情況下,我從項目中排除了database.mdf文件,從連接字符串中刪除了AttachDatabase:database.mdf,並設置了user instance=false

適合我。能夠從數據庫中獲取數據。