Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с параметрами в запросе к связанному серверу / 4 сообщений из 4, страница 1 из 1
12.04.2001, 19:06
    #32004269
Inna
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметрами в запросе к связанному серверу
Я использую в своей хранимой процедуре (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), из которой берутся данные, не связывается в запросе с другими таблицами из прилинкованного сервера. При этом она может быть связана с таблицами локального сервера.
Но мне необходимо делать связь с другими таблицами.
Вот такая ерунда. Что делать?
Заранее благодарна.
...
Рейтинг: 0 / 0
20.04.2001, 13:47
    #32004587
Проблема с параметрами в запросе к связанному серверу
Поскольку проблема связана как-то с передачей дат, то попробуй применить универсальный совет по работе с датами&MSSQL, когда есть какие-либо проблемы с передачей дат: задавай дату всегда преобразованной к строке вида YYYYMMDD. Это единственный формат даты, который MSSQL понимает всегда при любых региональных настройках и при любых их сочетаниях на разных серверах (как у тебя). В запросе это выглядеть так:

... and MyRemoteFieldDate = convert(varchar(, MyLocalFieldDate, 112)
или
... and MyRemoteFieldDate = convert(varchar(, @MyDate, 112)

где указанные поля и переменые имеют тип datetime.
...
Рейтинг: 0 / 0
20.04.2001, 13:50
    #32004589
Проблема с параметрами в запросе к связанному серверу
Автоматика сработала в данном случае коряво. В примере вместо 8 и правой скобки нарисовалась ухмыляющаяся рожа. Вместо рожи надо поставить цифру восемь и закрывающую скобку.
...
Рейтинг: 0 / 0
20.04.2001, 18:04
    #32004602
Inna
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметрами в запросе к связанному серверу
Спасибо за ответ, но дело, видимо, не в дате, поскольку тестирование показало, что аналогичный результат получается и в случае параметров других типов.Опять же, повторюсь, данная ошибка возникает только в случае использования связанных таблиц на удаленном сервере.
В случаях: a) не используются связанные таблицы на удаленном сервере, но используется параметр хранимой процедуры (фактически переменная) как критерий отбора для таблицы удаленного сервера
б)используются связанные таблицы на удаленном сервере, но не используется переменная хранимой процедуры как критерий отбора для таблицы удаленного сервера
- все работает прекрасно.
Но знаете, решение все же было найдено: Формируется оператор SQL как текстовая строка, которая помещается в переменную @Str_sql (varchar), при этом критерий отбора запихивается туда путем конкатенации.
Затем она запускается на исполнение EXEC (@Str_sql) !!!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с параметрами в запросе к связанному серверу / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]