SQL Server 2016 LocalDb 连接问题

SQL Server 2016 LocalDb connection issue

我使用 .mdf 数据库文件(版本 13.00.4001)创建了一个应用程序。

如果我 运行 在我编译它的同一台计算机上应用程序,一切都很好。但是,如果我尝试在安装了 SQL Server LocalDb 2016 的第二台计算机上 运行 它,它不起作用,并说 SQL 在计算机上找不到服务器。

有什么问题吗?我不明白为什么。

如果我尝试在安装了 SQL Server 2014 LocalDB 和 2016 的 PC 上 运行 应用程序,日志显示

cannot be opened because it is version 852. This server supports version 782 and earlier. A downgrade path is not supported

我真的不明白为什么会有这些问题。

用于构建连接字符串的代码:

"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=" + 
Directory.GetCurrentDirectory() + 
@"\Dati.mdf; Integrated Security=True"

听起来您正试图将代码从一台机器移动到另一台机器,但您并没有移动数据库。这意味着您需要在第二台机器上创建一个新数据库,然后获取新的连接字符串,这将在第二台机器上运行。

查看 here for guidance on creating a database, but first install SQL Server Management Studio (look here). You'll probably want to create some sort of configuration file to put the new connection string in. Here 是关于该主题的指南。

版本 13.00.4001 对应 SQL Server 2016 Service Pack 1。当您尝试在另一台计算机上还原/附加数据库时,请确保那里不仅安装了相同的版本,而且还安装了相同的 SP / CU。

要验证版本,您可以连接到实例并发出:

print @@version;

它将为您提供有关相关实例的构建、版本、SP/CU、位数等所有必要信息。

我通过删除现有的 MSSQLLocalDB 实例并使用此命令行重新创建它来解决我的问题

sqllocaldb delete MSSQLLocalDB

sqllocaldb create MSSQLLocalDB

现在一切正常。