无论如何是否可以使此SQL查询更快?它搜索.sdf数据库以匹配单词.数据按字母顺序排列.当前,搜索大约需要10-15秒,搜索的第一次迭代似乎很快,但是每次迭代的搜索都变慢了吗?为什么是这样?抱歉,这是我第一次在SQL中. private void Search_Database() //Searches SQL Database for matching words { Possible_Words.Clear(); using (var cn = new SqlCeConnection(@"Data Source=|DataDirectory|\Resource\Wordlist.sdf")) { cn.Open(); using (var cmd = cn.CreateCommand()) { string[] Final_Search_Array = (string[])Packa
以下是关于 sql-server-ce 的编程技术问答
我知道数据纳布特存在性能问题,但是是否有任何方法可能更快?目前,dataAdapter.fill方法在3000个记录上需要5-6秒,这对我的应用程序来说太慢了.如果我删除Fill行并仅执行SQL(使用SQLCE),则需要20毫秒,所以我猜该查询不是问题所在.我已经尝试在数据表上添加BeginLoadData,但这对性能没有任何影响. using (SqlCeConnection con = new SqlCeConnection(conString)) { con.Open(); using (SqlCeDataAdapter dAdapter= new SqlCeDataAdapter()) { using (SqlCeCommand com = new SqlCeCommand(query, con)) { com.Parameters.Add("uname",
SQL Server CE 4(SQL Server Compact Edition 4.0)还不是新闻(如果是的话,您可以阅读本文) ,看到SQL Server CE 4与其他数据库的性能比较非常有趣. 特别是: sqlite SQL Server(1) SQL Server Express * 也许火鸟 (1)对于功能可比的应用. 不幸的是,Google现在提供的主题没有太多链接.实际上,我找不到任何(用于适当的SQL CE版本). 如果可以找到或共享此类信息,则可以在这里收集到未来的人类. 解决方案 在我看来,将嵌入式数据库(如SQL CE)与服务器端关系数据库进行比较是不正确的(与SERTEN的关系数据库(如SQLite和SQLite和嵌入式Firebird的嵌入式版本外)是不正确的. ). 它们之间的主要区别在于,通用服务器端关系数据库(例如MS SQL,MySQL,Firebird Classic和SuperServe
我制作了一个应用程序,我将其放在Win CE(紧凑型闪存卡)的硬盘上.我的问题是该应用程序正在使用SQL Server CE 3.5数据库,但是看起来该图像是使用SQL Server CE 3.0创建的.当我开始构建图像时,我无法选择3.5版本. 每次我调试应用程序时,都会部署3.5版DLL,因此问题在开发阶段永远不会出现. 现在,当应用程序启动时(OS启动时它是自动启动的)消息窗口,异常弹出,并且不要让应用程序启动.我的问题是如何将SQL Server CE 3.5安装到图像中或如何在以后或在每个启动时间上安装它. 当我在运行OS系统上运行正确的CAB文件(三个CAB)时,它会安装3.5版本,并且我的应用程序启动,但是当我再次重新启动操作系统时,更改并未保存和提交.在构建图像之前,必须有一个解决方案来在目录中添加3.5版本或在第一个启动后永久安装一次的每个启动时间或最后一个选项. . 如果您可以为我提供解决方案来安装CABS,每次启动系统都会对我有用,但是请考
我们有一个办公室addin,该办公室使用SQL CE与通常的DBConnection在文件系统中的A *.sdf('C:/...等...')中.当我们启动具有SQL CE-augment Office Addin的应用程序的两份副本时(测试用户可能会误以为是什么)SQL CE数据库损坏了,Office Addin无法再访问其数据. 似乎我们缺少避免看似明显问题的一些基本方法.到目前为止,每个人都知道SQL CE不会锁定其行,从而允许多重写入相同 *.sdf可能引起的损坏. 也许答案是"不要那样做"; SQL CE并非旨在处理这种情况.但是肯定的是,SQL CE的大多数应用都具有类似的风险,即错误地开始多个过程并试图写入相同的 *.sdf? 我们喜欢SQL CE的小尺寸,自由度和易于集成到我们的addins.但是我们研究了SQL Server Express和2008比较: httpp://下载. microsoft.com/download/a/4/7/a47b7b0e
我试图在Visual Studio Web Express 2012 中打开.sdf文件.这是我当地的果园环境,但我想这并不重要,因为我在谷歌搜索时发现了这个错误.但是,我只找到了Visual Studio 2010及更低的解决方案,因此它们似乎不适用于我,因为它们通常包括为SQL Server Compact安装Visual Studio 2010工具.显然不适合2012年. 这是我尝试直接从VS Solution Explorer打开文件时的错误: 什么是什么? 当我尝试配置数据连接时,SQL Server Compact不存在: 我试图通过Web Platform安装程序重新安装SQL Server Compact,但这无济于事.但是,我可以在linqpad中打开数据库: 关于Visual Studio 2012发生了什么想法? thx ps:对不起,如果我忽略了解决方案.只有2个小时的睡眠左右. 解决方案 看一下关于该帖子的2/3
注意:当我以Windows Phone 7为目标时,除了尺寸限制之外,它没有引入任何内容. 试图为Windows Phone 7编写GPS/路由/地图应用程序,我尝试尝试使用 openstreetMap 为此,我想将数据存储在a SQL Server紧凑型版我的这是我的进度: 我已经下载了请注意,比利时不大,这是我所生活的国家,所以这似乎是一个很好的开始. 如果我的数据库接近该PBF文件的大小,那将是不错的,因为它只有80 MB ... 使用Marc Gravell的 protobuf-net ,我现在写了一本解析器给我所有OSM数据. 在第一次尝试中,我尝试将其全部加载到内存中,但对于我的Windows Phone 7来说似乎太大了,因为它的尺寸> 512 MB.然后,我的想法是我需要一个数据库来存储此信息,因此将其存储在SQL Server Compact Edition sdf文件中似乎是逻辑的. 因此,我在linq中创建了以下DataConte
我当前正在尝试将应用程序从Microsoft Access数据库移动到SQL Server Compact Edition One.我已经设法使用SSMA和SQL工具箱转换数据库,但是使用旧的C#代码查询(如预期),我遇到了一些错误.到目前为止,我已经能够解决问题了,但是我对此有些困惑: OLEDBDATAADAPTER内部错误:无效的行设置访问者:ordinal =#status = unsupportedConversion 在stackoverflow和Google上环顾四周之后,我发现使用ntext列通常会导致.但是,我没有使用任何,但是我在表的第18列上使用NVARCHAR(MAX)列.显然,这些我决定将列转换为nvarchar(255),以尝试使用此t-sql查询来修复: UPDATE dbo.Table1 SET Col1 = LEFT(Col1, 255) GO ALTER TABLE dbo.Table ALTER COLUMN Col1 NVARCH
我正在研究将一个小而简单的SQL Server数据库移至SQL Server CE,并且目前正在使用小型原型来调查使用SQL Server CE调查基本操作,并牢记以下操作:(1)编程创建一个表(2)(2 )插入新记录,(3)读取现有记录,(4)更新现有记录. 使用登录器和访问者结构的界限时,该原型在更新现有记录方面存在问题. SELECT语句与数据一起返回行正确返回行.我可以更新访问器绑定的成员,但是当我使用SetData()方法更新行时,返回的HRESULT值为DB_E_ERRORSOCCURRED.然后,我检查DBSTATUS变量,我可以看到DBSTATUS_E_SCHEMAVIOLATION的错误代码. DBSTATUS_E_SCHEMAVIOLATION是什么意思,我需要更改以使SetData()有效? 如果我修改了OLEDB中使用的SQL查询,以便正确修改WHERE子句选择的SELECT i而不是做SELECT UPDATE进行正确修改.该问题似乎与SetD
我正在通过Microsoft的OLEDB 3.5 SQL CE驱动程序使用SQL Server CE数据库.这是我的连接字符串: Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\Users\me\Desktop\test1.sdf 此查询正常工作: SELECT Thing FROM OtherThing WHERE name = 'TextThing' 此查询失败: SELECT Foo FROM Stuff 这是我遇到的错误: Multiple-step operation generated errors. Check each status value. 表中唯一的结构差异本身是一个具有文本主键,另一个具有Bigint Identity字段作为主要键. 我尝试了什么: http://support.microsoft.com/kb/kb/269495 条件对我来说
有人有一个给定数据库文件的示例代码显示在那里所有用户表的名称? 我对.NET代码不感兴趣,只是C ++. 我试图抓住ole db来完成任务-Rocket Science似乎是孩子玩的. 解决方案 我将假设SQL Server CE 3.0/3.1,但是,对于您的参考,我知道以下是提供商字符串: SQL Server CE 3.0/3.1 -Microsoft.sqllite.mobile.oledb.3.0 SQL Server CE 3.5 -Microsoft.sqlserver.ce.oledb.3.5 另外,我将为您提供两个代码示例: " select table_name from Insproly_schema.tables"上的icommandText dbschema_tables上的idbschemarowset 我将样本作为C ++控制台应用程序提供,并已使用ATL使代码简短.该代码已完成且有效,但不包括对HRESULT
在Nuget周围戳戳时,我注意到我已经安装了几个软件包,EF和SQL Server CE.这引发了一些我无法找到任何信息的问题. 在EF软件包上,这添加了VS中尚未存在的添加或仅适用于您的所有参考工作? 在SQL Server CE软件包上,这添加了安装它不是什么?还是这只是安装它的更好方法. 获得环境设置肯定需要很多,我喜欢Nuget的其他软件包,但是除非从长远来看最终会使我受益,否则我不想破坏任何东西.任何评论,答案或轶事都很棒. 解决方案 nuget绝对是所有二进制参考的前进道路,甚至是项目工具,例如Nunit等. 我建议您携带组合的EntityFramework.sqlservercompact软件包.这将为每个添加最新的二进制文件,还将连接正确的提供商出厂配置,并在App_start文件夹中添加Webervivator,以进行连接工厂初始化. Webactivator在ASP.NET和Web表单中都起作用,但总是会在一个基于Web的项目中引起编译
如果有人可以向我发布示例nlog.config,将NLOG与SQL Server紧凑4.0. 我可以输出到控制台和文件确定.我已经尝试了各种dbproviders和connectionsertrings,但似乎没有任何作用. 预先感谢. alan t 解决方案 我弄清楚了.我的测试应用程序是用C#编写的控制台应用程序.以下是我使用的各种文件的内容. program.cs using NLog; namespace ConsoleApplication2 { class Program { private static readonly Logger _logger = LogManager.GetCurrentClassLogger( ); static void Main(string[] args) { _logger.Debug( "A message"
schemaexport似乎有效,但是schemaupdate失败 - schemaupdate.exceptions包含此对象: System.NotSupportedException: The method is not supported. in System.Data.Common.DbConnection.GetSchema(String collectionName, String[] restrictionValues) in NHibernate.Dialect.Schema.AbstractDataBaseSchema.GetTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) in NHibernate.Tool.hbm2ddl.DatabaseMetadata.GetTableMetadata(String name, String sche
using (TransactionScope scope = new TransactionScope()) using (var context = new dwfEntities()) { var field = (from x in context.DynFields where x.Id == id select x).First(); //delete defaults foreach (var item in from x in context.DynFieldDefaults where x.DynField_Id == id select x) { context.DeleteObject(item); } context.SaveChanges(); //delete field context.DeleteObject(field); context.SaveChanges(); //commit scope
我正在使用SQL Server Compact Edition Server,我想计算每月的评论数,这些评论数与一个日期范围内的某个教程相对应,并包括数量为零的月份.我知道我需要将"日历"表加入我的表格以说明缺失的月份,但是我需要正确实施的帮助. 我有一个来自不同教程的评论的表.该表称为注释,我需要的列是[Tutorial](nvarchar)和[DateAdded](DateTime). Tutorial | DateAdded ---------+------------- sample | 2013-09-02 sample | 2013-09-04 sample | 2013-09-12 sample | 2013-09-12 example | 2013-09-15 sample | 2013-09-16 sample | 2013-09-21 sample | 2013-09-30 sample | 2
我使用sqlmetal.exe生成了此类.它在运行时非常可约束,但是如果我在设计时间使用此类,我所有的设计时间混合绑定都会破坏. 我正在使用MVVM-Light框架,并且正在为WP7构建一个应用程序. 如果我提取此类的接口,并创建一个实现此界面的简单poco,并且我在设计时间数据源中使用了简单的poco,则所有绑定都活着. 这是由sqlmetal.exe生成的类. [Table(Name="InspectionGroup")] public partial class InspectionGroup : INotifyPropertyChanging, INotifyPropertyChanged, IInspectionGroup { private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);