Несмотря на то, что пакет с несколькими запросами работает в SQL Server Management Studio, он не будет работать с SqlCeCommand.
Вы должны разделить свой пакет на несколько запросов (вы можете использовать транзакцию, чтобы выполнить все запросы или не выполнять их). Я рекомендую использовать ExecuteNonQuery, так как он не использует курсор (что может привести к ошибке в транзакции).
Вы можете использовать следующий пример.
Using connexion As New SqlCeConnection(connexionstring)
connexion.Open()
Dim transaction As SqlCeTransaction = connexion.BeginTransaction()
Try
Dim batch As String = GetCommandText()
For Each query In batch.Split(";")
If Not String.IsNullOrWhiteSpace(query) Then
Dim command As New SqlCeCommand(query, connexion, transaction)
command.ExecuteNonQuery()
End If
Next
transaction.Commit()
Catch ex As Exception
transaction.Rollback()
Throw
End Try
End Using