|
|
|
Какая разница?
|
|||
|---|---|---|---|
|
#18+
Есть два способа вызвать хранимую процедуру на MS SQL Server 2005: 1-й: Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 11:26 |
|
||
|
Какая разница?
|
|||
|---|---|---|---|
|
#18+
tsaritsin, Второй - он проверит "качество" параметра еще до отправки команды серверу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 11:36 |
|
||
|
Какая разница?
|
|||
|---|---|---|---|
|
#18+
Курдльtsaritsin, Второй - он проверит "качество" параметра еще до отправки команды серверу. Т.е. проверит тип значения? Я как то пробовал установить значение не целого типа, так мне вроде с сервера приходило сообщение что не получается преобразовать тип данных, т.е. параметр в этом случае не проверялся. Или вы имели ввиду что то другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 11:45 |
|
||
|
Какая разница?
|
|||
|---|---|---|---|
|
#18+
tsaritsinКурдльtsaritsin, Второй - он проверит "качество" параметра еще до отправки команды серверу. Т.е. проверит тип значения? Я как то пробовал установить значение не целого типа , так мне вроде с сервера приходило сообщение что не получается преобразовать тип данных, т.е. параметр в этом случае не проверялся. Или вы имели ввиду что то другое? здесь пробовали? Код: plaintext код можно увидеть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 12:09 |
|
||
|
Какая разница?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. При выполнении процедуры появляется исключение: "Не удалось преобразовать значение параметра из String в Int32." Вы хотите сказать что это сообщение вернул не SQL сервер, а метод ExecuteNonQuery()? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 12:36 |
|
||
|
Какая разница?
|
|||
|---|---|---|---|
|
#18+
Провел небольшой эксперимент: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Сообщение изменилось: "Ошибка при преобразовании типа данных nvarchar к int." Значит одна разница все же есть это: преобразование значений параметров к нужному типу и выдача исключения еще до запуска процедуры на сервере. А еще аргументы в пользу одного из двух способов есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 12:46 |
|
||
|
Какая разница?
|
|||
|---|---|---|---|
|
#18+
если правильно написать результат будет один и тот же, но зачем же делать через Ж. Вам дали инструмент, кто вам виноват что вы гвозди микроскопом забиваете. Правильный вариант номер 2. 1вый вызовет хранимку sp_executesql , в которой будет парсится запрос и потом выполняться. 2рой вызовет непосредственно указанную вами хранимку, никакого парсинга запроса не будет. Открыть SQL Profiler религия не позволяет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 12:54 |
|
||
|
Какая разница?
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за содержательные ответы. Особенно stimpi . До SQL Profiler очередь еще не дошла. В первую очередь интересовала разница при выполнении в самом клиенте. Я подразумевал что при любых раскладах он пошлет на сервер запрос типа: Код: plaintext 1. А про использование sp_executesql я и не подозревал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 13:09 |
|
||
|
Какая разница?
|
|||
|---|---|---|---|
|
#18+
tsaritsinВсем спасибо за содержательные ответы. Особенно stimpi . До SQL Profiler очередь еще не дошла. В первую очередь интересовала разница при выполнении в самом клиенте. Я подразумевал что при любых раскладах он пошлет на сервер запрос типа: Код: plaintext 1. А про использование sp_executesql я и не подозревал. о, сколько нам открытий чудных... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 16:04 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=36787975&tid=1351142]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
260ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 582ms |

| 0 / 0 |
