无法打开用户默认数据库.登录失败!”在winforms项目中的错误

本文关键字:winforms 项目 错误 失败 用户 默认 登录 数据库 | 更新日期: 2023-09-27 18:14:09

我有一个windows窗体项目与基于服务的数据库工作。SQL server 2008 r2 express的mdf文件)。
最近,在没有模式的情况下,在代码的不同部分运行项目时,出现了随机错误,有时会下降,有时不会,因此很难确定代码的哪一部分导致了这个问题。错误信息是:

无法打开用户默认数据库。登录失败。my_pc_name用户登录失败

我一直在寻找解决方案,发现:
登录SQL Server出错
http://blog.sqlauthority.com/2008/11/04/sql服务器-修复错误- 4064不能开放-用户-默认数据库登录-失败-登录-失败- user/
它们都使用ssms来解决这个问题,但是当我试图在"选择要安装的功能"上安装它时。它没有显示任何功能,我无法完成安装。
问题首先出现在我添加了以下代码到我的主表单添加拖动功能后,所以也许它与它有关:

    public partial class Main: Form
{
    public const int WM_NCLBUTTONDOWN = 0xA1;
    public const int HT_CAPTION = 0x2;
    [DllImportAttribute("user32.dll")]
    public static extern int SendMessage(IntPtr hWnd,
                     int Msg, int wParam, int lParam);
    [DllImportAttribute("user32.dll")]
    public static extern bool ReleaseCapture();
            private void titleBar_MouseDown(object sender, MouseEventArgs e)
    {
        if (WindowState != FormWindowState.Maximized&&e.Button==MouseButtons.Left)
        {
            ReleaseCapture();
            SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
        }
    }
}
我真的想不出如何解决这个问题,请给予帮助。谢谢。
编辑调试后发现问题来自 这几行
SqlConnection conn = new SqlConnection(connString);
conn.Open();

作为连接字符串(由不是由我编写的方法创建)是:

"DataSource=.''SQLEXPRESS;AttachDbFilename=C:''Users''user''Google Drive''....''App_Data''CDDB.mdf(my db name);Integrated Security=True;User Instance=True"

也许问题就在这里?

无法打开用户默认数据库.登录失败!”在winforms项目中的错误

这个问题和其他问题一起解决了。我认为问题是我的解决方案文件夹位于谷歌驱动器文件夹,不知何故同步制造麻烦。我不能百分之百确定这就是问题所在,但是把文件夹移到一个普通文件夹就解决了。