我制作了一个使用 LocalDB 的应用程序,以引用一些预定义的值作为它所做的一些数学运算的一部分。我创建了一个安装程序项目,以便在安装应用程序时,将 DB 的副本发送到 [ProgramData][ProductName],它被映射为 ConnectionString 的路径。
当我安装它并在我的计算机上运行应用程序(在 Visual Studio 之外)时,它也完全按照我的意愿运行 - 并且代码中没有错误、警告或消息。但是,当我将它安装到其他人的计算机上时(这样他们就可以使用它并指出他们遇到的任何错误),这就是问题所在。
在他们的计算机上,每当代码引用 LocalDB 时,他们都会收到以下异常消息:
“尝试建立与 SQL Server 的连接时发生网络相关或特定于实例的错误”System.Data.SqlClient.SqlException (0x80131904)。错误继续说 LocalDB 实例不存在。
我已经仔细检查了 ProgramData 文件夹,并且可以确认 LocalDB 在安装过程中确实被复制到那里 - 我已经确认代码在尝试连接到它时正在查看正确的文件夹 - 我只是想不通怎么了。
我已检查用户是否具有对该文件夹的读/写访问权限,并且是其计算机上的 LocalAdmin。
请问有人能帮助指导我解决这个问题吗?
ConnectionString 在下面,如果有帮助的话:
AppDomain.CurrentDomain.SetData("DataDirectory", Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Application_Name"));
ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True";