gpt4 book ai didi

c# - SQL 仅在 RELEASE 模式下出错

转载 作者:行者123 更新时间:2023-11-30 23:02:13 25 4
gpt4 key购买 nike

我正在为几天前发生的一个奇怪错误而苦恼,但我找不到解决方案。我有一个 C# Form 应用程序,它与 Visual Studio Express 制作的 SQL 数据库(.mdf 文件)进行对话。如果我的连接字符串指向根目录中的数据库(数据库已由 VS 自动创建),则一切正常。我可以在 Debug 和 Release 中编译可执行文件。

为了在不同的机器上进行测试(我复制了可执行文件和数据库 .mdf),我更改了连接字符串以指向同一可执行目录中的数据库,在这种情况下,它不会' 工作(发布和调试)。

我来到我的 PC,我使用上面相同的连接字符串指向发布目录中的数据库而不是根目录中的数据库。

奇怪的是,它在调试中有效,但在发布中无效。

出现的错误是下面的

Exception: One or more files do not match the primary file of the database. If you are attempting to attach a database, retry the operation with the correct files. If this is an existing database, the file may be corrupted and should be restored from a backup. Could not open new database 'C:\USERS\TEST\VISUAL STUDIO\PROJECTS\LEONARDO\LEONARDO 0.1.1.1\LEONARDO\BIN\RELEASE\DB.MDF'. CREATE DATABASE is aborted. An attempt to attach an auto-named database for file C:\Users\Test\Visual Studio\Projects\Leonardo\Leonardo 0.1.1.1\Leonardo\bin\Release\DB.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share. Log file 'C:\Users\Test\Visual Studio\Projects\Leonardo\Leonardo 0.1.1.1\Leonardo\bin\Release\DB.ldf' does not match the primary file. It may be from a different database or the log may have been rebuilt previously.

代码是

string Result = string.Empty;

SqlConnection conn = new SqlConnection(Settings.DataBasePath);

try
{

conn.Open();
}
catch (Exception ex)
{
string Errore = String.Format("Exception: {0}", ex.Message);

MessageBox.Show(Errore);

throw;
}

SqlDataReader leggi = null;

//SqlCommand comando = new SqlCommand("SELECT " + "Database Version" + " FROM Data", conn);
SqlCommand comando = new SqlCommand("SELECT * FROM Data", conn);

leggi = comando.ExecuteReader();


while (leggi.Read())
{
Result += leggi["Database Version"].ToString().TrimEnd();
}

conn.Close();

最好的问候

最佳答案

你的问题在这里:

Log file 'C:\Users\Test\Visual Studio\Projects\Leonardo\Leonardo 0.1.1.1\Leonardo\bin\Release\DB.ldf' does not match the primary file.

您应该确保您的调试和发布文件夹包含相同的 .mdf 和 .ldf 文件。

关于c# - SQL 仅在 RELEASE 模式下出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23474573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com