0

我有一个.mdf文件。我想在桌面应用程序的 c# 中使用它。

这是我的连接字符串:

string cwd = System.IO.Directory.GetCurrentDirectory();
string ConString = @"Data Source=.\SQLEXPRESS; AttachDbFilename=" + cwd + "\\SalaryProgram.mdf;Integrated Security=True;User Instance=True";

如何.mdf在 C# 中使用该文件?

我收到此错误:

尝试为文件 D:\Naresh Backup\SalaryProgram\Latest Work\SalaryProgram\SalaryProgram\bin\Debug\SalaryProgram.mdf 附加自动命名数据库失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。

提前致谢。

4

3 回答 3

1

检查以下 3 件事:

  1. 确保您的 MDF 文件是由与目标计算机上安装的 SQL Server 相同或更旧版本的 SQL Server 创建的。

  2. 确保目标计算机上的 SQL Server 没有同名的数据库。

  3. 总是更喜欢Path.Combine()文件夹路径和文件名的直接连接。有时函数会返回结束反斜杠字符作为路径的一部分,有时则不会。所以直接连接会导致非法路径。

  4. 您可能想查看|DataDirectory| 功能也是,intsead 的GetCurrentDirectory()

于 2013-04-09T06:32:36.920 回答
0

在我之前的一个项目(C# 中的 winform 应用程序)中,我使用了一个数据库,比如“EmployeeMaster”。

对我有用的连接字符串是:

“数据源=(本地)\SQLExpress;初始目录=EmployeeMaster;Trusted_Connection=是;”

试试看。

于 2013-04-09T06:40:03.623 回答
0

我真的建议您定期将此 MDF 文件附加到本地实例,然后连接到数据库。在 asp.net 应用程序中附加 mdf 文件并不是最好的方法。

只需将连接字符串添加到您的应用程序配置文件

<connectionStrings>
            <add name="yourConnectionString" connectionString=
"Data Source=(local); Initial Catalog=database_name;Integrated Security=True"     
 providerName="System.Data.SqlClient"/>
    </connectionStrings>

然后在您的代码中使用它,如下所示:

string ConString = ConfigurationManager.ConnectionStrings["yourConnectionString 
"].ConnectionString
于 2013-04-09T09:02:27.860 回答