错误:连接字符串中的未知连接选项:attachdbfilename

时间:2013-05-30 09:44:09

标签: c# sql-server visual-studio-2010 connection-string

似乎无法使我的连接字符串起作用。

app.config文件:

<add name="PalisadeWorld.Properties.Settings.PalisadeWorldDatabaseConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\PalisadeWorldDatabase.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>

我在哪里使用连接字符串:

  SqlCeConnection Con = new SqlCeConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=&quot;C:\\Users\\Win8User\\Documents\\Visual Studio 2010'Projects\\PalisadeWorld\\PalisadeWorld\\PalisadeWorldDatabase.mdf&quot;;Integrated Security=True;User Instance=True");

我已经尝试了几乎所有我能想到或在网上找到的东西。

我一直收到错误:

  

连接字符串中的未知连接选项:attachdbfilename。

我错过了什么吗?

感谢您的时间

2 个答案:

答案 0 :(得分:1)

原来我没有使用SQL的紧凑版本(SqlCeConnect

所以我需要使用SqlConnect代替

SqlConnection Con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\PalisadeWorldDatabase.mdf;Integrated Security=True;User Instance=True");

谢谢大家,亲切地

答案 1 :(得分:0)

连接字符串的模板是

<add name="TrempimModel"
 connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;
                   database=YourDatabaseName;
                   AttachDBFilename=|DataDirectory|aspnetdb.mdf;
                   User Instance=true"
 providerName="System.Data.SqlClient" />    

请在datadirectoy之后从attachdbfilename attibute中删除'\',以便新的连接字符串

<add name="PalisadeWorldDatabaseConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|PalisadeWorldDatabase.mdf; Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>

并且在使用连接字符串时。

 SqlCeConnection Con = new SqlCeConnection(ConfigurationSettings.AppSettings["PalisadeWorldDatabaseConnectionString"].ToString());