2012-10-17 75 views
0

在我的app.config:蹊蹺的app.config(SQL Server Express的)

<add name ="connSpionshopString" connectionString="Data 
Source=.\SQLEXPRESS;;AttachDbFileName=|DataDictionary|Spionshop.mdf; 
Integrated Security=True;User Instance=True"/> 

在我form.cs:

SqlConnection conn2 = new SqlConnection(); 
     conn2.ConnectionString = ConfigurationManager 
           .ConnectionStrings["connSpionshopString"] 
           .ConnectionString; 

這總是得到一個錯誤:「無效v鍵爲'attachdbfilename'。「

我不知道什麼是不對的.. :(

回答

2

您應該能夠通過修改它只是一點點來解決它:

<add name ="connSpionshopString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|Spionshop.mdf;Integrated Security=True;User Instance=True"/> 

你有DataDictionary而不是DataDirectory

+0

謝謝!問題解決了:D – KevinDW

+0

@KevinDW,沒問題!不要忘記標記爲答案。 –

0

我相信你有一個錯字:

connectionString="Data Source=.\SQLEXPRESS; **HERE!! ;** 
        AttachDbFileName=|DataDictionary|Spionshop.mdf; 
        Integrated Security=True;User Instance=True" 

你把2個分號,而不是一個

+0

是的,這是一個錯字。但它不能解決問題:( 但是,謝謝! – KevinDW

+0

看看我的答案,我相信這個問題是一個類型與'DataDictionary'而不是'DataDirectory'。是啊? –

1

無效值如果數據庫服務器/主機名被SqlConnection類認爲是不正確的,那麼可能會拋出'attachdbfilename'錯誤。當使用SQL Server Express時,您只能使用本地主機(。,(本地)或NETBIOS或DNS本地機器的名稱)

那意味着要麼使用這樣

<add name ="connSpionshopString" connectionString="Data 
Source=.;AttachDbFileName=|DataDictionary|Spionshop.mdf;Integrated Security=True;User 
Instance=True"/> 

<add name ="connSpionshopString" connectionString="Data 
Source=machinename;AttachDbFileName=|DataDictionary|Spionshop.mdf;Integrated Security=True;User 
Instance=True"/> 

<add name ="connSpionshopString" connectionString="Data 
Source=(local);AttachDbFileName=|DataDictionary|Spionshop.mdf;Integrated Security=True;User 
Instance=True"/> 
+0

看看我的答案,我相信這個問題是一個DataDictionary而不是DataDirectory類型的問題。是的+1對於圍繞其他問題的完整答案! –

0

我想期待SQL數據庫的服務器名是本地地址,而不是/ DataSource變量中的sqlexpress