【问题标题】:Is SQL Server Compact discontinued from Visual Studio 2013?SQL Server Compact 是否已从 Visual Studio 2013 中终止?
【发布时间】:2013-12-20 05:33:35
【问题描述】:

当我尝试从 Visual Studio 创建一个新的 SQL Server Compact 文件 -> 添加新项目时,我看不到“本地数据库”选项,这实际上是添加 SQL Server Compact 数据库的方法。现在,如果它真的被微软停产了,那么微软推荐的用于桌面应用程序的嵌入式数据库技术是什么?我尝试了 SQLite,但部署对 SQLite 来说很头疼,因为用户可能没有在他/她的机器上安装正确版本的 Visual C++ 分发包。

【问题讨论】:

  • Visual Studio intellisense 使用 SQL Server Compact Edition。 Visual Studio 2014 是否已切换到 SQL Server Local?
  • 见下面@ErikEJ 的回答。从幻灯片 15-16 开始关于肉类主题的预演:slideshare.net/tothc/hosting-simple-websites-on-azure
  • 从长远来看,我仍然会振作起来并寻求其他东西,请参阅@Aaron 的回答
  • Microsoft 已从 Visual Studio 2013 中弃用 MS SQL Server Compact。我自己对此的解释是,CE 是一个无服务器数据库系统,目前只能在 Windows 机器上运行。微软的长期目标似乎是,用更新的 Visual Studio 版本提供真正的跨平台环境。因此,不能在 Linux、Android 和 iOS 上运行的无服务器数据库不再有意义。

标签: sql-server-ce visual-studio-2013


【解决方案1】:

【讨论】:

  • 好吧,也许它已被弃用,但我只想为原型 Azure 应用程序提供一些数据库,如下所述:dotnetcurry.com/showarticle.aspx?ID=883
  • 现在提供的是 20MB 免费的 Azure SQL,但这对于原型来说可能还不够。因此,尽管不赞成,我还是会找到一种方法来继续使用 Compact 版本。我猜还有很多其他人。
  • @Csaba 这没有多大意义。 SQL Server Express 可为您提供 10 GB 的免费原型空间。
  • 是的,但问题是您在哪里托管 SQL Express?借助 Azure“Web 应用程序”,您将获得一个带有 IIS 的节点,但不能使用 SQL Express AFAIK。我使用 SQL CE 解决了这个问题:由于它是 dll 中的 SQL 服务器,因此不需要在该节点中安装(您无法安装,因为您没有处于完整的 IaaS 级别)。所以这里的关键词是 Azure。如何在 Azure 上免费使用 SQL Express(最好使用 Web 应用程序)。 slideshare.net/tothc/hosting-simple-websites-on-azure
  • 顺便说一句,我链接的幻灯片:在那次演示之后,我与更多仍在野外使用 CE 并且他们正在使用 VS 2012 的人进行了交谈。对于那些真正在 dll 中寻求数据库的 CE 场景的人,你会推荐 SQLite 吗?
【解决方案2】:

是的,VS 2013 中缺少它,但您可以使用我的 SQL Server Compact Toolbox 插件在 VS 2013 中完成几乎所有需要使用 SQLCE 执行的操作。你错过了什么?

【讨论】:

  • 链接到上述vsix工具箱here
  • @ErikEJ 嗨,Erik - 我将您的工具安装到了我的 VS 2013,但是当我尝试添加连接时 - 它显示错误消息“无法保存此连接以用于 EF6 工具,请确保SQL Server Compact DbProvider 已安装”...我已安装 Microsoft SQL Server Compact。你能指出方向吗?可能是什么问题?
  • @Prokurors 建议您在 sqlcetoolbox.codeplex.com 上发布问题并提供工具箱中关于对话框的截图
  • @ErikEJ 这很奇怪,但是计算机重新启动后的问题(visual studio 重新启动并没有解决问题)就消失了:) 无论如何谢谢!
  • 主题演讲,内容从幻灯片 15-16 开始:slideshare.net/tothc/hosting-simple-websites-on-azure
【解决方案3】:

正如其他人指出的那样,SQL Server Compact 已被弃用。但是,您可以使用不需要在客户端计算机上进行任何安装的 SQLite。

SQLite 依赖于 Visual C++ 运行时,但您不需要在客户端计算机上安装它。 system.data.sqlite 下载页面包含几个已经包含运行时的“静态”包。

所有“静态”包都包含本机或混合模式程序集 静态链接到适当版本的 Visual 的二进制文件 C++ 运行时。通常,这些包用于以下情况 客户机器可能没有必要的 Visual C++ 版本 运行时已安装,由于限制无法安装 特权。

例如,在我的机器上,我运行的是 Windows 8.1 x64,所以我进入了 64 位 Windows (.NET Framework 4.0) 的预编译静态链接二进制文件并下载了 sqlite-netFx40-static-binary-x64-2010-1.0 .90.0.zip。

此二进制包包含 x64 版本的所有二进制文件 System.Data.SQLite 1.0.90.0 (3.8.2) 包。视觉 C++ 2010 x64 的 SP1 运行时是静态链接的。 .NET 框架 4.0 是 必填。

然后我解压缩包并运行 test.exe 以确保一切正常。需要零安装。

【讨论】:

  • 使用 NuGet 包更容易。
  • @infografnet:是的,现在推荐使用 nuget 获取 .NET 的 sqlite。它自动管理各种 .NET 版本的不同库依赖项。
【解决方案4】:

由于某种原因,在 VS 2013 中删除了对 SQL Compact 的服务器资源管理器的使用。在重新启用它时存在 UserVoice 问题。

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4714470-support-sql-server-compact-in-visual-studio-2013?utm_campaign=shorturls&utm_source=visualstudio.uservoice.com

【讨论】:

  • 但是你可以免费获得 VS 2013 Community 并使用 SQL Server Compact Toolbox
【解决方案5】:

SQLite 也可作为单个 C 文件(合并)使用,如果您使用本机 C/C++,您可以直接将其编译到您的应用程序中。然后,它适用于您的应用程序可以打开文件的任何情况。无需额外的 DLL,也无需安装。

【讨论】:

    【解决方案6】:

    对于遇到问题并登陆此站点的其他新手,我所做的是创建 SQL Server 数据库文件(在 LocalDB 中创建),然后在项目属性、发布选项卡和先决条件按钮中,有机会将 LocalDB 的下载和安装添加到已发布的包中 - 它可以工作。

    【讨论】:

      【解决方案7】:

      很遗憾,Visual Studio 2013 中没有对 SQL Compact 的内置支持。

      但是你可以安装插件SQL Server Compact/SQLite Toolbox

      我也在 VS 2013 中将这个工具用于 SQL Compact,非常简单明了

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多