标签: sql-server-ce

您是否将Sql Server Compact用于桌面应用程序?

将SQL Server Compact用于桌面应用程序是否有意义?

  • 它可以处理多少数据?
  • 是否可以与多个用户一起使用?有什么限制?
  • 数据库文件坏了会发生什么?是否可以以编程方式恢复,或者是否可以轻松地远程解决问题?

sql-server-ce

22
推荐指数
1
解决办法
5955
查看次数

带有WHERE子句的LEFT OUTER JOIN

我有两张桌子.indRailType包含与我在其他表中使用的ID值配对的名称列表,以指示导轨类型.WO_BreakerRail包含日期列和轨道代码列,对应于相同的代码indRailType和其他一些数据.WO_BreakerRail对于每个日期,每种铁路类型的任何活动都有一排.所以我可以有3行日期3/19/2010,每行表示不同的轨道代码,以及发生了什么.

当我使用以下内容时LEFT OUTER JOIN,我得到一个包含所有类型轨道的表,在19行中没有任何事情发生的行中有空值.现在,这只是起作用,因为我现在只有一个日期表示在我的WO_BreakerRail表中,即19日.当我添加更多具有不同日期的行时,事情会变得混乱.

这是我的SQL语句,它现在给出了我想要的结果:

SELECT WO_BreakerRail.ID, indRailType.RailType, WO_BreakerRail.CreatedPieces, 
    WO_BreakerRail.OutsideSource, WO_BreakerRail.Charged, 
    WO_BreakerRail.Rejected, WO_BreakerRail.RejectedToCrop
FROM indRailType
LEFT OUTER JOIN WO_BreakerRail 
    ON indRailType.RailCode = WO_BreakerRail.RailCode
Run Code Online (Sandbox Code Playgroud)

现在,当我添加一个WHERE WO_BreakerRail.Date = @Date子句时,我会丢失所有JOIN没有发生的行.我不希望这样.从阅读起,听起来像是OUTER JOIN我想要的全部,但SQL Server Compact Edition不支持FULL OUTER JOINs.有没有办法解决这个问题,还是我正在寻找其他的东西?

sql-server join sql-server-ce

21
推荐指数
3
解决办法
8万
查看次数

解决SQL Server Compact Edition数据库文件中的损坏问题

这不是查询.它总结了我们解决SQL Compact数据库文件中的损坏问题的解决方案,几乎取得了一定的成功.SQLCE腐败是一个非常普遍的问题.我们从StackOverflow的早期帖子中获得了巨大的帮助,因此这篇文章.

我们的产品是一个3层架构,服务器作为Windows服务运行,通过.Net Remoting连接到Rich Clients.我们的产品从2006年开始使用SQLCE.我们已经从v3.1升级到v3.5,现在升级到v4.0.我们为一些非常具体的要求提供了自定义OR映射工具.我们遇到了v3.1的有限问题,我们在v3.5和v4.0上遇到了更多问题.

最初使用v3.5,我们实现了SqlCeEngine.Repair.但它只会丢弃损坏的数据,并尝试重新创建一个稳定的数据库.我们发现受影响的桌子的外键丢失了.我们必须立即废除这一点.我们开始向用户通知数据库损坏,并恢复上次备份.这只能暂时缓解; 腐败问题仍然存在.

今年,我们采用了v4.0.但是,我们的应用程序还引入了几个新功能,极大地增加了数据库调用的数量.v4.0开始很好,但在软件使用量增加时开始出现问题.应用程序运行时发生的损坏不会导致Windows崩溃,异常关闭或磁盘问题.数据库刚刚损坏.

下一篇文章介绍了我们针对此问题设计的解决方案:

corrupt corruption sql-server-ce

21
推荐指数
2
解决办法
6388
查看次数

找不到命名空间'System.Data.SqlServerCe'

我确实包含了System.Data.SqlServerCedll,放入using System.Data.SqlServerCe;了我的代码,但是当我打开.NET页面时,我得到:

名称空间'System.Data'中不存在类型或命名空间名称'SqlServerCe'(您是否缺少程序集引用?)

我不知道如何解决这个问题.提前致谢.

c# asp.net visual-studio-2008 sql-server-ce

21
推荐指数
2
解决办法
6万
查看次数

将实体框架与SQL Compact专用安装一起使用

我在使用SQL Compact的桌面应用程序中使用Entity Framework 4.我想在我的应用程序中使用SQL Compact 的私有安装,这样我的安装程序就可以安装SQL Compact而无需为用户提供第二次安装.它还避免了版本化的麻烦.

我的开发机器安装了SQL Compact 3.5 SP1作为公共安装,所以我的应用程序在那里运行良好,正如人们所期望的那样.但它没有在我的测试机上运行,​​它没有安装SQL Compact.我收到此错误:

The specified store provider cannot be found in the configuration, or is not valid.
Run Code Online (Sandbox Code Playgroud)

我知道有些人在SQL Compact私有安装方面遇到了困难,但我已经使用了一段时间了,我真的很喜欢它们.不幸的是,我的常规私人安装方法不起作用.我已经检查了我的SQL CE文件上的版本号,它们都是3.8.8078.0,这是SP2 RC版本.

以下是我在私人安装中包含的文件:

  • sqlcecompact35.dll
  • sqlceer35EN.dll
  • sqlceme35.dll
  • sqlceqp35.dll
  • sqlcese35.dll
  • System.Data.SqlServerCe.dll
  • System.Data.SqlServerCe.Entity.dll

我已经将System.Data.SqlServerCe的引用添加到我的项目中,并且我已经验证上面列出的所有文件都被复制到安装机器上的应用程序文件夹中.

以下是我打开SQL Compact文件时用于配置EntityConnectionStringBuilder的代码:

var sqlCompactConnectionString = string.Format("Data Source={0}", filePath);

// Set Builder properties
builder.Metadata = string.Format("res://*/{0}.csdl|res://*/{0}.ssdl|res://*/{0}.msl", edmName);
builder.Provider = "System.Data.SqlServerCe.3.5";
builder.ProviderConnectionString = sqlCompactConnectionString;
var edmConnectionString = builder.ToString();
Run Code Online (Sandbox Code Playgroud)

我错过了一个文件吗?我是否错过了告诉Entity Framework在哪里找到我的SQL Compact DLL所需的配置步骤?任何其他建议为什么EF没有在安装机器上找到我的SQL Compact DLL?谢谢你的帮助.

entity-framework sql-server-ce entity-framework-4

20
推荐指数
2
解决办法
3万
查看次数

SQL CE 4.0的限制

我打算在一个小型的生产网站上使用SQL CE 4.0,我想知道SQL CE 4.0可以处理多少负载:

  1. 数字同时连接,
  2. 每个表的行数,以及
  3. 总DB大小.

sql-server-ce

20
推荐指数
2
解决办法
2万
查看次数

无法加载与ADO.NET提供程序对应的SQL Server Compact的本机组件

在我的项目中,我使用SQL CE 3.5数据库与实体框架,并遵循 这篇文章, 但我有这个例外:

无法加载与版本8080的ADO.NET提供程序对应的SQL Server Compact的本机组件.安装正确版本的SQL Server Compact.有关更多详细信息,请参阅知识库文章974247.

所有细节

System.Data.SqlServerCe.SqlCeException was unhandled
  Message=Unable to load the native components of SQL Server Compact corresponding to the ADO.NET provider of version 8080. Install the correct version of SQL Server Compact. Refer to KB article 974247 for more details.
  Source=""
  HResult=-1
  NativeError=-1
  StackTrace:
       at System.Data.SqlServerCe.NativeMethods.LoadNativeBinaries()
       at System.Data.SqlServerCe.SqlCeConnection..ctor()
       at System.Data.SqlServerCe.SqlCeProviderFactory.CreateConnection()
       at System.Data.EntityClient.EntityConnection.GetStoreConnection(DbProviderFactory factory)
       at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
       at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)
       at DAL.OimDBEntities..ctor()
       at DAL.OimRepository..ctor()
       at Microsoft.Rtc.Collaboration.Sample.SubscribePresenceView.UCMASampleSubscribePresenceView.Subscribe()
       at Microsoft.Rtc.Collaboration.Sample.SubscribePresenceView.UCMASampleSubscribePresenceView.Run()
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework sql-server-ce

20
推荐指数
1
解决办法
4万
查看次数

在Visual Studio项目中自动创建SDF文件?

我最近一直在尝试节省机器上的空间,并开始使用TreeSize来分析文件夹结构/大小

这让我发现很多我的Visual Studio项目里面都有SDF文件.在一种情况下,app文件夹是80Mb,其中50Mb是此SDF文件.此应用程序不使用SQL Server Compact(尽管它有一个SQLite数据库).SDF文件未出现在Visual Studio的项目文件中.

这些文件来自哪里,是否可以安全删除?

sql-server-ce visual-studio visual-studio-2013

20
推荐指数
1
解决办法
2万
查看次数

SQL Server查询区分大小写

我有这个数据库:

abcDEF

ABCdef

abcdef
Run Code Online (Sandbox Code Playgroud)

如果我写: select * from MyTbl where A='ABCdef'

如何获得: ABCdef

以及如何获得:

abcDEF

    ABCdef

    abcdef
Run Code Online (Sandbox Code Playgroud)

提前致谢

忘了写 - sqlCE

sql sql-server case-sensitive sql-server-ce

19
推荐指数
2
解决办法
5万
查看次数

使用C#增加sql compact 3.5 .sdf文件的大小

我使用Sql Compact3.5作为我的数据库与C#.NET我可以给出的最大sdf大小是多少?有没有办法以编程方式增加sdf文件的最大大小?如果是这样的???

c# filesize sql-server-ce

18
推荐指数
4
解决办法
2万
查看次数