我有一个使用Sql用户实例的桌面应用程序。这是我的连接字符串:“User Instance = True”出现“无法打开用户默认数据库”错误
"Data Source=.\SqlExpress;
AttachDbFilename=C:\path\file.mdf;
Integrated Security=True;
User Instance=True;
Connect Timeout=100;"
我的应用程序创建该数据库,下载从Web服务数据到它的负荷,然后做了很多与它的行动。
当我尝试重新打开连接时出现问题。我得到一个SqlException
:
“无法打开用户默认数据库登录失败
登录失败,用户myDomain的\名为myUsername'。”
这个错误在这种情况下没有意义 - 我没有默认的数据库。我正在登录到为当前应用程序创建的实例,它与SqlExpress分开运行。
没有其他方式连接到此数据库。如果我启动SqlExpress服务并连接到默认实例,它将不可见。它仅适用于此应用程序。
磁盘上的文件被在应用程序下运行的SqlExpress实例服务锁定。如果我停止应用程序并重新启动它,则连接第一次工作,但重新打开时失败。如果我只是停止应用程序,我可以删除.mdf文件并重新开始,但是当我重新打开连接时它仍然崩溃。
当我的应用程序启动实例作为我运行时,我的当前用户应该有权访问实例中的每个数据库。
这不会发生在同一代码的其他用户,这表明这是一个SQL配置问题。
有没有人有任何想法是什么导致这种情况,以及如何解决它?