Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Linked server и USE  [new]
Murlin
Member

Откуда:
Сообщений: 25
Возникла такая необходимость в нашей системе MS Dynamics Ax(Axapta) для некоторых отчетов брать данные c другой базы(snapshot) на другом сервере для увеличения скорости работы этих самых отчетов.

Я решил сделать такое решение... для начала я делаю linked server затем с помощью запроса сделаю так чтобы то что посылает система нашему серверу отправлялось на linked сервер, ну и соответственно подменяю либо системный connection у axapta либо подменяю курсор у таблицы в axapta. Пока я еще точно не знаю будет ли это все работать.

Проблема в том что USE не понимает сервер. То есть я пишу USE [имя Linked server].[имя базы] выдает следующую ошибку

USE [AXBACKUP].[bars_ax40_sp02fp00_live_snapshot]

Сообщение 911, уровень 16, состояние 1, строка 1
Could not locate entry in sysdatabases for database 'AXBACKUP'. No entry found with that name. Make sure that the name is entered correctly.

Вопрос что нужно сделать чтобы подменить базу используемую запросом в данном случае?
4 сен 09, 14:25    [7618477]     Ответить | Цитировать Сообщить модератору
 Re: Linked server и USE  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
а просто прописать вызов

селект * фром Сервер.база.схема.таблица 
-------------------------------------
Jedem Das Seine
4 сен 09, 14:30    [7618543]     Ответить | Цитировать Сообщить модератору
 Re: Linked server и USE  [new]
Murlin
Member

Откуда:
Сообщений: 25
Нет. Не получиться, если бы все было так просто...
4 сен 09, 14:31    [7618555]     Ответить | Цитировать Сообщить модератору
 Re: Linked server и USE  [new]
Crimean
Member

Откуда:
Сообщений: 13148
весь запрос там выполнять надо
exec сервер.база..sp_excecutesql N' а вот тут полный текст вашего запроса '
4 сен 09, 15:28    [7619099]     Ответить | Цитировать Сообщить модератору
 Re: Linked server и USE  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
А если сделать вьюху в осн. базе, кот. смотрит на Линкед сервер
Заработает ?

ЗЫ: Ну и проблемы... не даром половина проектов - провалы.
4 сен 09, 15:29    [7619110]     Ответить | Цитировать Сообщить модератору
 Re: Linked server и USE  [new]
Crimean
Member

Откуда:
Сообщений: 13148
> Ну и проблемы...

смешно будет, если только ЧАСТЬ таблиц будут брать со снапшота
потом удивятся, почему еще хуже стало
4 сен 09, 18:24    [7620309]     Ответить | Цитировать Сообщить модератору
 Re: Linked server и USE  [new]
somebody
Member

Откуда: Москва
Сообщений: 708
Т. е. вызываете из Аксапты хранимку, а в ней пытаетесь сделать USE на связанный сервер?
USE работает только в рамках сервера. USE и последующий код укажите в процедуре на связ. сервере, и вызывайте её из Аксапты как-то так:
statement.executeUpdate("EXEC srv.bd.dbo.procedura")
7 сен 09, 11:03    [7625146]     Ответить | Цитировать Сообщить модератору
 Re: Linked server и USE  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Murlin

Проблема в том что USE не понимает сервер. То есть я пишу USE [имя Linked server].[имя базы]


SELECT  *
FROM	имясервера1.имяБД1.dbo.ИмяТаблицы1 S 
INNER JOIN имясервера2.имяБД2.dbo.ИмяТаблицы2 P ON P.Res_Name=S.Name
7 сен 09, 15:52    [7627484]     Ответить | Цитировать Сообщить модератору
 Re: Linked server и USE  [new]
Andret
Member

Откуда: Киев
Сообщений: 84
или так:

exec ('use tempdb; select top 1 * from sysobjects') at LinkedServer
7 сен 09, 22:53    [7629138]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить