Не работает запрос TRUNCATE TABLE к SQL Server Compact CE

Рейтинг: 1Ответов: 1Опубликовано: 01.04.2015

Создал консольное приложение, через NuGet добавил необходимые dll для работы с базой (System.Data.SqlServerCe версии 4.0.0.0)

Программно база создается, в обозревателе серверов ее можно открыть, все без ошибок, но проблема в том что не могу выполнить ни один запрос (таблица Items есть, создал руками через подключение в обозревателе серверов).

    string ConnectionStr = @"Data source = test.sdf";
    //SqlCeEngine en = new SqlCeEngine(ConnectionStr);
    //en.CreateDatabase();

    SqlCeCommand cmd = new SqlCeCommand();
    cmd.Connection = new SqlCeConnection(ConnectionStr);
    cmd.Connection.Open();
    cmd.CommandText = "TRUNCATE TABLE Items";
    cmd.ExecuteNonQuery();
    cmd.Connection.Close();

Выпадает ошибка на cmd.ExecuteNonQuery() -

Необработанное исключение типа "System.Data.SqlServerCe.SqlCeException" в System.Data.SqlServerCe.dll

В просмотре сведений -

{"Ошибка при разборе запроса. [ Token line number = 1,Token line offset = 1,Token in error = TRUNCATE ]"}

Пробовал и так cmd.CommandText = "TRUNCATE TABLE [Items]"; - аналогично.

Ответы

▲ 1

Жаль, но там не поддерживается эта конструкция. Используйте вместо неё вот это:

DELETE FROM [Table]
ALTER TABLE [Table] ALTER COLUMN [ID] IDENTITY (1,1)