Исчезновение хранимой процедуры

Так как мне не хватает репутации, чтобы оставлять комментарии, я должен опубликовать это как ответ. Во-первых, keyCode является устаревшим , в настоящее время вы должны просто использовать event.key, что также делает код более понятным для вас, поскольку ключ просто "a".

Другая проблема заключается в том, что вы получаете выбранные объекты с помощью select.getFeatures (), который либо возвращает компонент или коллекцию (см. API ). Объект не имеет метода clear, но вы можете получить слой, а затем удалить выбранный объект из его источника. Это может выглядеть примерно так:

var selectSource = select.getLayer(selectedFeature).getSource();
selectSource.removeFeature(selectedFeature);

это при условии, что вы выбираете одну функцию, в противном случае вы можете зациклить выбранные функции.

17
задан skaffman 1 August 2009 в 19:46
поделиться

8 ответов

Вы создавали ту или иную сохраненную процедуру, и в конце вашего кода, может быть, после комментария, где вы его не видели, у вас есть капля этой процедуры.

Взгляните на свою базу данных, используя:

select syo.name
from syscomments syc
    join sysobjects syo on
        syo.id = syc.id
where syc.[text] like '%DROP PROC%'
34
ответ дан 30 November 2019 в 10:31
поделиться

Возможно, код для доступа к хранимой процедуре использует другой контекст, отличный от dbo. Не забудьте добавить dbo.USP_Equipment_Delete в код, использующий его.

2
ответ дан 30 November 2019 в 10:31
поделиться

Вы используете правильная база данных?

На всякий случай попробуйте

использовать [имя базы данных]

перед выполнением хранимой процедуры.

3
ответ дан 30 November 2019 в 10:31
поделиться

Есть ли у вас где-нибудь ПРОЦЕДУРА СОЗДАНИЯ? Вы не можете ИЗМЕНИТЬ процедуру, если она не существует.

2
ответ дан 30 November 2019 в 10:31
поделиться

Возможно, есть задание по периодическому восстановлению старой резервной копии?

0
ответ дан 30 November 2019 в 10:31
поделиться

Убедитесь, что в «Исходном каталоге» в строке подключения указана правильная база данных.

Переведите базу данных в однопользовательский режим (и убедитесь, что вы единственный пользователь) и проверять, пропадает ли процедура каждый час?

0
ответ дан 30 November 2019 в 10:31
поделиться

Если он там есть, то этот запрос должен возвращать запись:

SELECT * FROM sysobjects 
WHERE id = OBJECT_ID('USP_Equipment_Delete') 
      AND OBJECTPROPERTY(id, N'IsProcedure') = 1
-1
ответ дан 30 November 2019 в 10:31
поделиться

У меня была та же проблема, и я ее просто исправил:

В файле сценария отсутствовал оператор «GO» между концом хранимой процедуры и началом следующей » IF EXIST THEN DROP ".

Итак, произошло то, что оператор drop добавлялся в конец любой хранимой процедуры, которая находилась над ней в сценарии. Поэтому, когда программа запускала хранимую процедуру, она отбрасывала любую хранимую процедуру, которая находилась под ней в сценарии.

Сейчас это кажется нам очевидным, но в то время не имело никакого смысла. Мы обнаружили, что он запускает профилировщик SQL для базы данных клиента, у которой возникла проблема на месте.

13
ответ дан 30 November 2019 в 10:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: