我可以将 Sql Server CE (3.0) 用作 Windows 应用程序的嵌入式数据库吗?我必须在机器上安装 Sql Server CE 吗?
Posted
技术标签:
【中文标题】我可以将 Sql Server CE (3.0) 用作 Windows 应用程序的嵌入式数据库吗?我必须在机器上安装 Sql Server CE 吗?【英文标题】:Can I use Sql Server CE (3.0) as an embedded database for my windows application? Do I have to install Sql Server CE in the machine? 【发布时间】:2011-05-17 05:38:50 【问题描述】:我创建了一个 Windows 应用程序,我需要一个数据库。我首先在其中使用了SQL Server Express
版本。然后我才知道它不完全是一个可移植的数据库。也就是说,SQL Server Express 版本应该已经安装在我想使用我的应用程序的计算机上。我开始知道我可以改用 SQL CE 并改用它。我发现我所要做的就是在应用程序中复制sqlceme30.dll
。在我的开发系统中运行良好。但是当我将应用程序复制到另一个系统并打开应用程序时,它会抛出错误
System.IO.FileNotFoundException: Could not load file or assembly 'System.Data.SqlServerCe, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
我可以在我的应用程序中使用 SQL CE 吗?我真的不想在我使用我的应用程序的所有机器上安装它。或者如果没有,我可以使用哪些其他数据库而不需要安装?访问?
【问题讨论】:
【参考方案1】:确保您的参考设置为Copy Local
。右键单击引用,然后单击属性。他们将Copy Local
属性更改为true
。这将确保 dll 包含在发布中。
【讨论】:
如果我这样做,我的应用程序会工作吗?我的意思是,我可以将 Sql Server CE 用作我的应用程序的便携式数据库吗?没有在目标系统上安装它? 另外,我没有添加任何参考——我只是在代码中包含了命名空间。我在这里错过了什么吗? 是的,添加参考并按照我的建议进行操作。那么 SQLCE db 文件应该可以在没有客户端安装的情况下工作。 我也做了同样的事情,为它创建了一个安装程序并安装在机器上。但还是。我收到了同样的错误信息。以上是关于我可以将 Sql Server CE (3.0) 用作 Windows 应用程序的嵌入式数据库吗?我必须在机器上安装 Sql Server CE 吗?的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 2008 到 SQL Server CE (Windows Phone 7)
如何从 C# 代码将 SQL Server CE 迁移到 SQL Server 2012 Express