在c#中使用.mdf文件

本文关键字:mdf 文件 | 更新日期: 2023-09-27 18:08:05

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

我的连接字符串:

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

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

我得到这个错误:

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

在c#中使用.mdf文件

检查以下3件事:

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

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

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

  4. 你可能也想看看|DataDirectory|功能,而不是GetCurrentDirectory()

在我以前的一个项目(c#中的winform应用程序)中,我使用DB说"EmployeeMaster"。

连接字符串为我工作是:

"Data Source=(local)'SQLExpress;Initial Catalog=EmployeeMaster;Trusted_Connection=Yes;"

试一试。

我真的建议您定期将此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