4

SqlCe データベース (バージョン 3.5、ああ、C# 3 を使用) に大量の一括挿入を実行しようとしています。これを行うさまざまな方法を試しました (テーブル アダプターの挿入、準備されたパラメーター化されたクエリ、sqlceresultset の挿入など)。私が多くのサイトで読んだように、最速の時間はテーブル ダイレクト モードで SqlCeResultSet オブジェクトを使用したときでした。

挿入を行う前に、必要なテーブルのすべてのインデックスを無効にすることで、これをさらに高速化したいと考えています (後で再構築します)。ALTER INDEX ステートメントを機能させるのに問題があります (これまで使用したことがないので、単純なものを見落としていると確信しています)。

基本的に、私は SqlCeCommandObject を作成し、次の方法で変更ステートメントを設定しました (接続オブジェクトは既に設定されており、開いているなど):

.
.
.
SqlCeCommand disableIndexCommand = Connection.CreateCommand();
disableIndexCommand.CommandText = "ALTER INDEX ALL ON ItemMaster DISABLE";
disableIndexCommand.ExecuteNonQuery();
.
.
.

このコードを実行しようとすると、次のエラーが発生します。

クエリの解析中にエラーが発生しました。[ トークン行番号 = 1、トークン行オフセット = 7、エラーのトークン = INDEX ]

alter ステートメントの INDEX キーワードを理解していないように思えます。これはSqlCeではサポートされていませんか?

ありがとう

[更新] - 他の DDL ステートメント (DROP INDEX、CREATE INDEX など) を試しましたが、どれも機能しないようです。DDLステートメントに関する限り、SSCEでサポートされているものとサポートされていないもののリストを見つけようとして、あちこちを検索してきました。運がない。誰もこれのための良いリソースを知っていますか? sqlce コンパクト バージョン 3.5 に関する MS ドキュメントは、まったく役に立たなかったと言わざるを得ません...

4

1 に答える 1