Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с параметрами в запросе к связанному серверу
|
|||
|---|---|---|---|
|
#18+
Я использую в своей хранимой процедуре (SQL Server 7.0) запрос, обращающийся к таблицам прилинкованного сервера (SQL Server 6.5). Он осуществляет выборку из нескольких связанных таблиц. При этом все прекрасно работает. Теперь мне понадобилось ввести параметр для отбора записей по дате. В результате получаю ошибку: Server: Msg 7352, Level 16, State 1, Line 6 OLE DB provider 'MSDASQL' supplied inconsistent metadata. The object '[Serv65].[LinkedDB].[dbo].[MyTable]' was missing expected column 'Key_MyTable'. Исследования показали, что такой запрос работает корректно, если основная таблица (MyTable), из которой берутся данные, не связывается в запросе с другими таблицами из прилинкованного сервера. При этом она может быть связана с таблицами локального сервера. Но мне необходимо делать связь с другими таблицами. Вот такая ерунда. Что делать? Заранее благодарна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2001, 19:06 |
|
||
|
Проблема с параметрами в запросе к связанному серверу
|
|||
|---|---|---|---|
|
#18+
Поскольку проблема связана как-то с передачей дат, то попробуй применить универсальный совет по работе с датами&MSSQL, когда есть какие-либо проблемы с передачей дат: задавай дату всегда преобразованной к строке вида YYYYMMDD. Это единственный формат даты, который MSSQL понимает всегда при любых региональных настройках и при любых их сочетаниях на разных серверах (как у тебя). В запросе это выглядеть так: ... and MyRemoteFieldDate = convert(varchar(, MyLocalFieldDate, 112) или ... and MyRemoteFieldDate = convert(varchar(, @MyDate, 112) где указанные поля и переменые имеют тип datetime. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2001, 13:47 |
|
||
|
Проблема с параметрами в запросе к связанному серверу
|
|||
|---|---|---|---|
|
#18+
Автоматика сработала в данном случае коряво. В примере вместо 8 и правой скобки нарисовалась ухмыляющаяся рожа. Вместо рожи надо поставить цифру восемь и закрывающую скобку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2001, 13:50 |
|
||
|
Проблема с параметрами в запросе к связанному серверу
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ, но дело, видимо, не в дате, поскольку тестирование показало, что аналогичный результат получается и в случае параметров других типов.Опять же, повторюсь, данная ошибка возникает только в случае использования связанных таблиц на удаленном сервере. В случаях: a) не используются связанные таблицы на удаленном сервере, но используется параметр хранимой процедуры (фактически переменная) как критерий отбора для таблицы удаленного сервера б)используются связанные таблицы на удаленном сервере, но не используется переменная хранимой процедуры как критерий отбора для таблицы удаленного сервера - все работает прекрасно. Но знаете, решение все же было найдено: Формируется оператор SQL как текстовая строка, которая помещается в переменную @Str_sql (varchar), при этом критерий отбора запихивается туда путем конкатенации. Затем она запускается на исполнение EXEC (@Str_sql) !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2001, 18:04 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32004602&tid=1826949]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 262ms |
| total: | 345ms |

| 0 / 0 |
