我正在尝试对一个sqlce数据库(版本3.5,哦,使用C 3)进行大量插入。我尝试过各种方法(表适配器插入、准备好的参数化查询、sqlceresultset插入等)。正如我在许多站点上看到的,最快的时间是在表直接模式下使用sqlceresultset对象。
我想在执行插入操作之前禁用必要表上的所有索引,从而进一步加快速度(然后我将在后面重新生成这些索引)。我在使用alter index语句时遇到了一个问题(以前从未使用过它,所以我确信我忽略了一些简单的事情)。
基本上,我已经创建了一个sqlcommandObject,并按照以下方式设置了一个alter语句(连接对象已经设置好,并且是打开的等):
.
.
.
SqlCeCommand disableIndexCommand = Connection.CreateCommand();
disableIndexCommand.CommandText = "ALTER INDEX ALL ON ItemMaster DISABLE";
disableIndexCommand.ExecuteNonQuery();
.
.
.
当我尝试运行此代码时,会出现以下错误:
分析查询时出错。
[令牌行编号=1,令牌行
offset=7,token in error=index]
在我看来,它不理解alter语句中的index关键字。这在sqlce中不受支持吗?
谢谢
[更新]-我尝试过其他DDL语句(如DROP INDEX、CREATE INDEX),但似乎无法使它们工作?我一直在到处搜索,试图找到SSCE中支持和不支持的内容的列表,就DDL语句而言。运气不好。有人知道这方面的好资源吗?关于sqlce-compact版本3.5的MS文档已经非常无用了,我必须说…