加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – AttachDbFilename的问题是什么

发布时间:2020-12-15 20:28:46 所属栏目:asp.Net 来源:网络整理
导读:显然,在连接字符串中使用AttachDbFilename和用户实例是连接到数据库的一种不好的方法.我在我的本地机器上使用SQL server express,这一切似乎都运行正常.但是,连接到SQL服务器的正确方法是什么呢? 谢谢你的解释. 解决方法 使用用户实例意味着SQL Server正在
显然,在连接字符串中使用AttachDbFilename和用户实例是连接到数据库的一种不好的方法.我在我的本地机器上使用SQL server express,这一切似乎都运行正常.但是,连接到SQL服务器的正确方法是什么呢?

谢谢你的解释.

解决方法

使用用户实例意味着SQL Server正在创建该数据库文件的特殊副本以供程序使用.如果您有两个使用相同连接字符串的不同程序,则它们会获得两个完全不同的数据库副本.这会导致很多混乱,因为人们会测试用他们的程序更新数据,然后在Management Studio中连接到他们数据库的不同副本,并抱怨他们的更新不起作用.这使他们通过一系列有缺陷的野鹅追逐步骤试图解决错误的问题.

This article goes into more depth about how to use this feature,但注意到第一个注意事项:用户实例功能已被弃用.在SQL Server 2012中,首选的替代方案是(按此顺序,恕我直言):

>创建数据库或将数据库附加到SQL Server的实际实例.然后,您的连接字符串只需指定实例名称,数据库名称和凭据.由于Management Studio,Visual Studio和您的程序都将连接到数据库的单个副本,因此不会混淆.
>使用SqlLocalDb进行本地开发.我相信我昨天指的是这篇文章:“Getting Started with SQL Server 2012 Express LocalDB.”
>使用SQL Server Compact.我最喜欢这个选项,因为功能和语法不一样 – 所以它不一定会为你提供你最终想要部署的所有功能. Compact Edition is also deprecated,so there’s that.

当然,如果你使用的是版本< SQL Server 2012,SqlLocalDb不是一个选项 - 所以你应该创建一个真正的数据库并一致地使用它.我只提到Compact选项的完整性 - 我认为这与使用AttachDbFileName几乎一样糟糕. 编辑:我在这里写了博客:
> Bad Habits : Using AttachDBFileName

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读