0

我正在编写一个应用程序,C#并且我正在使用一个SQL数据库来保存一些信息。我已经定义了database这样的连接地址:

  @"Data Source=.\SQLEXPRESS;AttachDbFilename=c:\users\pouya\documents\visual studio 2010\Projects\DataBaseDLL\DataBaseDLL\Database.mdf

在这种情况下,当我在另一台计算机上运行应用程序时,由于地址不正确,会导致错误。

有什么办法可以解决这个错误吗?例如,让应用程序在同一个文件夹中查找它,如 .. \\database.mdf

4

2 回答 2

2

您应该使用 *.mdf 文件的相对路径。

以下 connectionString 在 App_Data 文件夹中查找 mdf 文件。将此 connectionString 放入您的 web.config 中:

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

正在做的|DataDirectory|伎俩...

于 2013-01-25T20:32:19.197 回答
0

因此,您在另一台计算机上运行应用程序并且连接字符串无法找到数据库的位置,因为它与路径不匹配?那是对的吗?

在这种情况下,您可以自己构建连接字符串。

例如:

    public class Example
    {

       string dirInfo = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
       string connectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=" + dirInfo + "\documents\visual studio       2010\Projects\DataBaseDLL\DataBaseDLL\Database.mdf"

    }

当然,有更好的方法来做到这一点。

于 2013-01-25T20:50:37.893 回答