Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
на MSSQL2000 пишу такой запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. он отрабатывает нормально. Затем пишу такой запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. выдает ошибку: авторServer: Msg 7399, Level 16, State 1, Line 2 OLE DB provider 'SQLOLEDB.1' reported an error. [OLE/DB provider returned message: Invalid connection string attribute] OLE DB error trace [OLE/DB Provider 'SQLOLEDB.1' IDBInitialize::Initialize returned 0x80004005: ]. не могу понять, почему?... Запросы-то одинаковые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 16:37 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
нуб987, потому что у вас две ошибки во втором варианте. Догадаетесь сами какие? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:02 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
Гигабайт Мегабайтович Килобайтовнуб987, потому что у вас две ошибки во втором варианте. Догадаетесь сами какие? )) а вы как думаете, догадаюсь ли я, если еще не догадался? )) млин, ну ясно же, что если бы догадался, то и не спрашивал бы. Понимаю, что где-то или опечатался или тупанул. Но не вижу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:11 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
нуб987, Вы еж не параметры передаете, а строку формируете. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:13 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовнуб987, Вы еж не параметры передаете, а строку формируете. Код: sql 1. если бы я так делал, я бы воспользовался простым exec но для упрощения и убирания лишних кавычек (вдруг этот второй вариант я еще куда-то вложу) использую sp_executesql. Или вы хотите сказать, что я в принципе сделал неверно и следовало написать так?: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. но это ж какой-то изврат..... Тогда в чем преимущества sp_executesql с его параметрами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:19 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
а с чего вы решили, что openrowset позволяет такие вольности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:20 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
Konst_Oneа с чего вы решили, что openrowset позволяет такие вольности? такие - какие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:24 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
нуб987, sp_executesql редко использую, но, если правильно помню, эта процедура служит для передачи значений переменным или параметрам. Т.е. она не работает как макроподстановщик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:29 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
нуб987Konst_Oneа с чего вы решили, что openrowset позволяет такие вольности? такие - какие? sp_executesql не подставляет значения, а объявлет ваши переменные и задаёт их значения, OPENROWSET не поддерживает переменные в строке подключения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:31 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
нуб987Гигабайт Мегабайтович Килобайтовнуб987, потому что у вас две ошибки во втором варианте. Догадаетесь сами какие? )) а вы как думаете, догадаюсь ли я, если еще не догадался? )) млин, ну ясно же, что если бы догадался, то и не спрашивал бы. Понимаю, что где-то или опечатался или тупанул. Но не вижу... то что в OPENROWSET передаются только строковые константы, в них не может быть переменных. Это раз так как вы написали - как раз и является строковой константой - это два )) И так-же три - ваши переменные не приходят в sp_executesql, так как в тексте он не находит никаких переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:39 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
TaPaKнуб987пропущено... такие - какие? sp_executesql не подставляет значения, а объявлет ваши переменные и задаёт их значения, OPENROWSET не поддерживает переменные в строке подключения нет. В данном случае моя ошибка в двойных кавычках. Вот другой пример: Код: sql 1. 2. 3. 4. 5. 6. выдаст не 'qwer', а '@qqq' и когда я писал Код: sql 1. 2. 3. то там были вложенные кавычки. Т.е. в итоге целевой запрос к серверу выглядел не так: Код: sql 1. 2. а так: Код: sql 1. 2. Итого: писать все-таки придется как подсказал Владислав Колосов: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:41 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
нуб987, нунахрен.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:45 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
+100 ну... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:46 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
нуб987, Нужно параметры передать в sp_executesql вот так... ... , N'@SrvName nvarchar(255), @DBName nvarchar(255), @TmpAuth nvarchar(255), @date2 datetime' , @SrvName = @SrvName , @DBName = @DBName, @TmpAuth = @TmpAuth, @date2 = @date2 Слева переменная внутренняя, справа переменная внешняя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:49 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
blonduserнуб987, Нужно параметры передать в sp_executesql вот так... ... , N'@SrvName nvarchar(255), @DBName nvarchar(255), @TmpAuth nvarchar(255), @date2 datetime' , @SrvName = @SrvName , @DBName = @DBName, @TmpAuth = @TmpAuth, @date2 = @date2 Слева переменная внутренняя, справа переменная внешняя. а хелп вы когда-нибудь открывали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:51 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
TaPaKнуб987, нунахрен.... это да... а как по-человечески это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:55 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
blonduserTaPaK, https://docs.microsoft.com/ru-ru/sql/relational-databases/system-stored-procedures/sp-executesql-transact-sql вот - вот и прочитайте прям там ссылка https://docs.microsoft.com/ru-ru/sql/t-sql/language-elements/transact-sql-syntax-conventions-transact-sql и подумайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 18:00 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
TaPaKblonduserTaPaK, https://docs.microsoft.com/ru-ru/sql/relational-databases/system-stored-procedures/sp-executesql-transact-sql вот - вот и прочитайте прям там ссылка https://docs.microsoft.com/ru-ru/sql/t-sql/language-elements/transact-sql-syntax-conventions-transact-sql и подумайте про sp_executesql читал несколько раз думал еще больше раз не могли бы вы яснее написать, на что именно вы намекаете? ПС. заметил, что на этом форуме общение происходит как-то.... не пафосно, а..... свысока что ли..... Ответы даются с этакой ленцой, как кость собаке кинули, мимо проходя. Или как замороженный полуфабрикат: типа есть захочет, сама расковыряет. я очень уважаю ваши знания (тут я говорю не о конкретном человеке, а обо всех экспертах). Но доступный для понимания ответ приходится вытягивать клещами, тратя лишнее время всех собеседников. И если на других форумах доступный ответ приходит если не вторым, так третьим сообщением. То здесь легко можно завязнуть на несколько страниц. К сожалению, большинство экспертов присутствует именно на этом форуме... Видимо, это как неискоренимый совок на почте или в какой-нибудь бухгалтерии, когда толстые тетеньки бальзаковского возраста цедят сквозь зубы "здрсьте". Вот и на этом форуме выработалась своя манера общения с полунамеками, типа захочешь - догадаешься ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 18:19 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
нуб987, авторНужно параметры передать в sp_executesql вот так... ... , N'@SrvName nvarchar(255), @DBName nvarchar(255), @TmpAuth nvarchar(255), @date2 datetime' , @SrvName = @SrvName , @DBName = @DBName, @TmpAuth = @TmpAuth, @date2 = @date2 коротко - не нужно зпт не ошибка как делает ТС зпт ошибка не из-за этого зпт подробности письмом(msdn) тчк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 09:10 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
нуб987TaPaKпропущено... вот - вот и прочитайте прям там ссылка https://docs.microsoft.com/ru-ru/sql/t-sql/language-elements/transact-sql-syntax-conventions-transact-sql и подумайте про sp_executesql читал несколько раз думал еще больше раз не могли бы вы яснее написать, на что именно вы намекаете? ПС. заметил, что на этом форуме общение происходит как-то.... не пафосно, а..... свысока что ли..... Ответы даются с этакой ленцой, как кость собаке кинули, мимо проходя. Или как замороженный полуфабрикат: типа есть захочет, сама расковыряет. я очень уважаю ваши знания (тут я говорю не о конкретном человеке, а обо всех экспертах). Но доступный для понимания ответ приходится вытягивать клещами, тратя лишнее время всех собеседников. И если на других форумах доступный ответ приходит если не вторым, так третьим сообщением. То здесь легко можно завязнуть на несколько страниц. К сожалению, большинство экспертов присутствует именно на этом форуме... Видимо, это как неискоренимый совок на почте или в какой-нибудь бухгалтерии, когда толстые тетеньки бальзаковского возраста цедят сквозь зубы "здрсьте". Вот и на этом форуме выработалась своя манера общения с полунамеками, типа захочешь - догадаешься эксперты стараются сделать так, что-бы ты сам понял в чём ошибка. Т.е. не дать тебе готовое решение, как на большинстве западных ресурсов, я что-бы ты сам проделал некую работу, усвоил теоретические знания, и сам нашел ответ на свой вопрос. Особенно это касается ситуаций, когда видно что у человека проблемы с теорией. Когда бывает редкая практическая ситуация - бывают дают и готовое решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 09:52 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
Гигабайт Мегабайтович Килобайтовэксперты стараются сделать так, что-бы ты сам понял в чём ошибка это я понимаю и идея хорошая. Но реализация, как обычно, подкачала. Вы это делаете СЛИШКОМ витиевато . Вместо краткого куска примерного кода, с которым можно разобраться, вы шлете в RTFM. Причем, на что конкретно из этого РТФМ вы намекаете, совсем непонятно. Т.е. конкретно в моем примере (с чего начался этот топик) можно было просто сказать, что переменные "не достают" до вложенных кавычек. В итоге до этого я догадался сам с таким кодом (его я приводил выше): Код: sql 1. 2. 3. 4. 5. 6. Причем справку я перечитывал не один раз. Но то ли "глаз замылился", то ли еще что, но не видел я и не догадался, что переменная не передается во вложенные кавычки. Хотя сейчас, когда все это понял, для меня это кажется логичным. Но для этого потребовалось увидеть пример выше. Я и многие другие здесь вопрошающие (ну кроме студентов, да и то не всех) вовсе не требуем привести нам полностью рабочий готовый код. Но нам нужен ПОНЯТНЫЙ намек для движения в нужном направлении. В итоге простой вопрос "как пройти в библиотеку" превращается в квест: - ногами. Бхахаха - а с чего ты решил, что тебе нужно именно в библиотеку? - обратись в справочную 09 - скачай карту города, поищи там - координаты 123.456, 567.890 хотя нормальный ответ был бы: 2 квартала прямо, за светофором (он там один) налево, ну а там дальше спросишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 18:06 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
нуб987Гигабайт Мегабайтович Килобайтовэксперты стараются сделать так, что-бы ты сам понял в чём ошибка это я понимаю и идея хорошая. Но реализация, как обычно, подкачала. Вы это делаете СЛИШКОМ витиевато . Вместо краткого куска примерного кода, с которым можно разобраться, вы шлете в RTFM. Причем, на что конкретно из этого РТФМ вы намекаете, совсем непонятно. Т.е. конкретно в моем примере (с чего начался этот топик) можно было просто сказать, что переменные "не достают" до вложенных кавычек. В итоге до этого я догадался сам с таким кодом (его я приводил выше): Код: sql 1. 2. 3. 4. 5. 6. Причем справку я перечитывал не один раз. Но то ли "глаз замылился", то ли еще что, но не видел я и не догадался, что переменная не передается во вложенные кавычки. Хотя сейчас, когда все это понял, для меня это кажется логичным. Но для этого потребовалось увидеть пример выше. Я и многие другие здесь вопрошающие (ну кроме студентов, да и то не всех) вовсе не требуем привести нам полностью рабочий готовый код. Но нам нужен ПОНЯТНЫЙ намек для движения в нужном направлении. В итоге простой вопрос "как пройти в библиотеку" превращается в квест: - ногами. Бхахаха - а с чего ты решил, что тебе нужно именно в библиотеку? - обратись в справочную 09 - скачай карту города, поищи там - координаты 123.456, 567.890 хотя нормальный ответ был бы: 2 квартала прямо, за светофором (он там один) налево, ну а там дальше спросишь таки ты не до конца понял )) у тебя было две не верные посылки 1) тебе раз несколько сказали, что OPENROWSET используется только с константами. кто ж мог подумать, что ты не понял что такое "константа" в sql.. 2) да то что ты нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 18:14 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
нуб987Я и многие другие здесь вопрошающие (ну кроме студентов, да и то не всех) вовсе не требуем привести нам полностью рабочий готовый код. Но нам нужен ПОНЯТНЫЙ намек для движения в нужном направлении.Мало ли что кому нужно. Мне вот может миллион долларов в день нужен, да взять негде. И в этом как бы не мой работодатель виноват. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 18:14 |
|
||
|
sp_executesql и openrowset
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичМало ли что кому нужно. Мне вот может миллион долларов в день нужен, да взять негде. И в этом как бы не мой работодатель виноват. если вы не желаете помочь, тогда можно ведь просто пройти мимо Допускаю, что вы желаете помочь от чистого сердца, но делаете это "как-то не так". Так же могу допустить, что я один не понимаю ваши намеки (тут я имею в виду не лично вас) и тогда это только мои проблемы. Но подобные моим комментарии я встречал здесь неоднократно: люди пишут, что на этом форуме манера общения слегка отдает высокомерием к менее опытным товарищам. Живой пример: Glory Его ФАКи написаны доступным языком, редко-редко он может снизойти до реально понятного четкого и ясного ответа. Т.е. видно, что человек - профи. Но в 99% его ответы заходят откуда-то ОЧЕНЬ издалека и не несут полезной части. Это как пытаться дать понять муравью, что он идет не туда, поджигая и ломая все вокруг него. Да он просто офигеет от этого всего и решит, что судьба настроилась против него и в итоге повесится, не заметив узкой дорожки, которую вы оставили к новому муравейнику ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 18:28 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=158&tid=1690032]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
94ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 357ms |

| 0 / 0 |
