gpt4 book ai didi

sql-server - 如何指定在连接字符串中使用 SQL Server LocalDb 2014 而不是 SQL Server LocalDb 2016?

转载 作者:行者123 更新时间:2023-12-02 23:33:47 25 4
gpt4 key购买 nike

我们的应用程序使用 SQL Server LocalDb 2014 作为数据库引擎。我们使用的连接字符串是

"Data Source=(localdb)\MSSQLLOCALDB;Initial Catalog=OurDatabase;MultipleActiveResultSets=True;Integrated Security=True;AttachDBFilename=|DataDirectory|OurDatabase.mdf"

现在,在我们的一台计算机上,它安装了 VS 2015SP3 和最新版本的 SQL Server 对象,我们的应用程序开始使用 SQL Server LocalDb 2016。这是不希望的,因为我们定期交换数据库文件的备份现在,在没有 LocalDb 2016 的计算机上无法读取以 LocalDb 2016 格式制作的备份。

问题在于连接字符串未指定应使用哪个版本的 LocalDb。有没有办法强制 LocalDb 2014(或 2016,如果我们决定升级?)

最佳答案

好吧,除了 Erik 的回答之外,没有提供任何解决方案,我们必须假设您确实无法在使用 "Data Source=(localdb)\mssqllocaldb" 时指定您希望使用哪种 SQL Server LocalDb 风格。在连接字符串中。

Erik 解决方案的一个缺点是它不能与可能使用 LocalDb (MSSQLLocalDb) 默认实例的其他应用程序很好地配合。我发现了使用所谓的命名实例的不同方法:您的应用程序私有(private)的 LocalDb 实例。在定义命名实例时,您可以指定要使用的 LocalDb 版本:Localdb 2014 为 12.0,Localdb 2016 为 13.0。

创建命名实例有两种方法:

  1. 使用sqllocaldb命令行工具:

SqlLocalDB.exe create "MyNamedInstance" 12.0 -s

-s参数立即启动实例。

  • 在 app.config 中指定命名实例:
  • 为此添加到 <configSections>标签:

    <section name="system.data.localdb"
    type="System.Data.LocalDBConfigurationSection,System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"/>

    然后添加一个新标签:

    <system.data.localdb>
    <localdbinstances>
    <add name="MyNamedInstance" version="12.0" />
    </localdbinstances>
    </system.data.localdb>

    您现在可以在连接字符串中指定命名实例:

    "Data Source=(localdb)\mynamedinstance" 

    关于sql-server - 如何指定在连接字符串中使用 SQL Server LocalDb 2014 而不是 SQL Server LocalDb 2016?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39974109/

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